Go - bawił się ktoś?

Hej,
http://golang.org/ - próbowaliście? Jak wrażenia?

Jeszcze nie, ale sporo czytałem i fajnie, że powstał ten wątek. Myślę, że warto się zainteresować – jak tylko będę miał chwilę wolnego czasu to ruszam z nauką.

Ostatni 10gen pochwalił się, że użyli języka Go do napisania agenta swojej usługi backupowania MongoDb. http://blog.mongodb.org/post/51643994762/go-agent-go

[quote=slawosz]Hej,
http://golang.org/ - próbowaliście? Jak wrażenia?[/quote]
Od kilku dni czytam/wertuję/bawię się tym językiem. Wrażenia? Bardzo mi się spodobał. Żałuję, że nie zapoznałem się z tym językiem wcześniej. Ma trochę podobne podejście do współbieżności jak erlang (i to mi się niesamowicie podoba), ale przy okazji jest normalnym językiem z normalną składnią (w erlangu trzeba chyba pisać całe życie, żeby nauczyć się go czytać).

Póki co z zalet w Go widzę takie:

  • podejście do współbieżności (goroutines, kanały)
  • prostota, brak udziwnień
  • statyczne typowanie + lekka interferencja typów
  • funkcje anonimowe, domknięcia
  • wydajność (bliżej mu do C niż do dynamicznych jak ruby)
  • używane przez google - można mieć zaufanie, że pomimo młodego wieku nie zniknie jutro

Z wad/nie do końca dla mnie jasnych kwestii:

  • typ “normalny” i wskaźnikowy/referencyjny (nie jestem do końca pewien dlaczego nie mogli podejść do tego jak java/ruby, które mają tylko referencje)
  • nie do końca jasny dla mnie sposób ogarniania pakietów, brak wersjonowania, o czymś takim jak bundler można zapomnieć :wink:

Warto dodać, że core zeus’a jest w go: https://github.com/burke/zeus

Dla zainteresowanych zabawą z go:
http://tour.golang.org/#1 - świetne wprowadzenie do języka
http://vimeo.com/53221558

Bardzo fajny język, którego składnie można opanować w kilkanaście godzin.

[quote=radarek]Z wad/nie do końca dla mnie jasnych kwestii:

Ten program korzysta z katalogów w repo na githubie, jak narazie bardzo mi się podoba to rozwiązanie (ok, jeszcze nie testowałem ;))

Duży projekt w go: http://www.docker.io/