Go, golang, go...

poniedziałek, 11 października 2010

Zbyt często pisanie programu przypomina mozolne wypełnianie jakiegoś podania, które może zostać odrzucone przy najdrobniejszym błędzie formalnym. Jednak tak wcale nie musi być…

Kilka dni temu eksperymentowałem z językiem Go. Inspiracją był tekst Go dla Java'owca ;-).

Artykuł jest wart polecenia, z dwóch powodów

Dziś, chciał bym się podzielić wnioskami z nauki nowego narzędzia…

Parę słów o…

Inicjatorami powstania języka Go, są twórcy systemów Unix, Plan9, języka B, a take twórca kompilatora JavaScript V8. Ich autorytet, oraz poparcie tak dużej firmy jak Google (na liście autorów jest już prawie setka ludzi), wydają się być nieomal gwarancją sukcesu.

Pierwszym wrażeniem, jest poczucie wszechobecnego minimalizmu (i humoru) typowego dla systemu Plan9. Go bezpośrednio wywodzi się z języków B i C. Nie ma w nim naleciałości z C++, czy Java. Natomiast wszelkie odwołania do nich w dokumentacji, wynikają raczej z faktu że mamy tu do czynienia bezpośrednią konkurencją.

O przeznaczeniu języka najlepiej świadczy dobór standardowych bibliotek. Obok typowych funkcji, można tu znaleźć kompresję, szyfrowanie i kodowanie plików, obsługę wielowątkowości i połączeń sieciowych a nawet kompletny serwer http w postaci zestawu „zrób to sam”.

Pierwsze kroki

Pierwsze kroki można postawić wchodząc na stronę golang.org, gdzie na „dzień dobry” można rozpocząć eksperymenty z językiem.

Zakładając że na komputerze znajduje się zestaw podstawowych narzędzi programistycznych, instalacja kompilatora jest nieomal równie prosta. Wystarczą polecenia:

hg clone -r release https://go.googlecode.com/hg/ go
cd go/src
all.bash

To jest typowe dla środowiska związanego z tym językiem. Żadnej partyzantki, wszystkie biblioteki i narzędzia są instalowane, a następnie aktualizowane, z użyciem mercurial lub git.

Użytkownikom jedynie słusznych edytorów, takich jak Vim, lub Emacs, sugeruję zajrzeć do katalogu misc. Znajdą tam coś dla siebie. (no, dobrze użytkownicy innych edytorów też mogą tam coś znaleźć)

Warto także skorzystać z programu godoc, by ułatwić sobie dostęp do dokumentacji. (polecam również lekturę kodów źródłowych).

godoc -http=:6060

Zamiast Hello World

Nie. Nie zamierzam zamieszczać Hello World. Tym bardziej że jest to pierwsza rzecz, którą można zobaczyć na stronie projektu. Taki przykład i tak zupełnie nie oddaje natury języka. Zamiast tego wypunktuję małe co nieco:

Czy jest coś co mi się nie podoba? Tak, dotychczas trafiłem na dwa problemy

Makefile

To taka mała definicja, pozwalająca nauczyć program make, jak kompilować programy w Go. Napisałem ją zanim odkryłem że w dystrybucji znajduje się skrypt gomake, realizujący podobne zadanie

Makefile:

%.8: %.go
 8g $<
%: %.8
 8l -o $@ $<

W ten sposób, aby skompilować helloworld.go, wystarczy napisać make helloworld

Na dziś to wszystko. Jak tylko znajdę chwilę, to postaram się zaprezentować jakiś ciekawszy przykład.

Aktualizacja

Etykiety: , , ,

Red 01:04

Komentarze

Prześlij komentarz

Archiwum

Subskrybuj

RSS / Atom