Poznaj język Go

Czy język w którym tworzysz oprogramowanie jest nieefektywny? Programy są zbyt wolne, kod zbyt skomplikowany? Jeśli tak, to poświęć kilkadziesiąt minut na poznanie języka Go.

Go łączy zalety języków silnie typowanych i dynamicznych, dzięki składni, która pozwala tworzyć wydajny kod minimalizując narzuty silnego typowania

Kompilacja jest ekstremalnie szybka. Jeśli kiedykolwiek przyszło ci kompilować program C/C++ to wiesz, że trwa to niemal wieczność. Kompilator Go jest tak szybki, że proces kompilacji jest prawie niezauważalny (ktoś nawet pokusił się by zrobić udawany interpreter*).

Wbudowany garbage collector, pomaga zapomnieć o większości problemów z uwalnianiem pamięci.

Zrównoleglanie wywołań w Go odbywa się bez wątków, rezerwacji zasobów, mutexów i wszystkiego tego co sprawia, że optymalne wykorzystanie maszyn przyprawia o ból głowy. Dzięki instrukcji go zrównoleglisz wykonanie dowolnej funkcji lub metody, a kanały zapewnią ci komunikację i synchronizację między uruchomionymi tzw. "goroutines".

Rozdmuchane do ogromnych rozmiarów hierarchie klas też już nie będą zabierały ci snu z powiek, ponieważ w Go nie ma klas. Obiektowość w Go realizowana jest za pomocą interfejsów oraz metod do typów.

Dzięki pełnemu wsparciu Unicode, znikają wieczne problemy ze znakami, które wykraczają poza tablicę znaków ASCII. Źródła programów są kodowane UTF-8, łańcuchy znaków wspierają znaki unicodowe, nawet pakiety do pracy z ciągami bajtów pomagają w radzeniu sobie z wielobajtowymi znakami.

Aby zobaczyć jak wygląda Go nie tylko w hasłach, ale i w praktyce, zapraszam do mojego tutoriala, który nie tylko pokazuje poszczególne konstrukcje ale daje także możliwość wypróbowania Go "on line", bez potrzeby instalowania czegokolwiek!

W razie pytań polecam dwie grupy dyskusyjne: anglojęzyczną golang-nuts oraz polskojęzyczną golang-pl

* nie polecam tego narzędzia, to tylko ciekawostka