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