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ć
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:
…
- nie do końca jasny dla mnie sposób ogarniania pakietów, brak wersjonowania, o czymś takim jak bundler można zapomnieć ;)[/quote]
Go tu stawia na prostotę, np:
https://github.com/buger/gor/blob/master/gor.go#L8
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/