Kategoria: Go, Perl, Ruby, Erlang, inne języki programowania
Język Go (często nazywany Golang’iem dla odróżnienia od słowa „go”) jest językiem programowania, który ujrzał światło dzienne w 2009 roku, a pod koniec marca 2012 roku ukazał się jego pierwszy release (tj. go1 w stabilnej wersji). Język ten został opracowany przez programistów z Google: Roberta Griesemera, Roba Pikea oraz Kena Thompsona. Łączy on w sobie łatwość pisania aplikacji charakterystyczną dla języków dynamicznych (np. Pythona, C# oraz JavaScriptu) z wydajnością języków kompilowanych (np. C, C++). Między innymi dzięki temu język ten błyskawicznie zyskał na popularności. W rankingu Tiobie (https://www.tiobe.com/tiobe-index/go/) w maju w 2015 roku zajmował on 122 miejsce, a w połowie 2017 roku był już na 10 miejscu. To świadczy o niesamowitym potencjale jaki widzą w nim programiści i dlatego firma Tiobe przyznała mu zaszczytny tytuł języka 2016 roku. Od tamtego czasu konsekwentnie zyskuje on na popularności, a obecnie znajduje się w pierwszej 20-stce najpopularniejszych języków programowania.
Niewątpliwym atutem języka Go jest kompilacja. Jest ona bardzo szybka (niekiedy nawet niezauważalna) np. w porównaniu do kompilacji w C++. Język ten posiada również wbudowany Garbage Collector, który bardzo ułatwia zarządzanie zasobami. W języku Go nie znajdziemy klas, co sprawia, że pod tym względem może być on podobny do JavaScript. Tym, co przemawia na korzyść opensource’owego języka jest także elastyczna struktura danych, solidne wskaźniki oraz referencje. Należy też wspomnieć o bardzo obszernej bibliotece standardowej, która pozwala na budowę dużych projektów z niewielką ilością zewnętrznych zależności. W związku z tą właśnie prostotą i dynamiką użycia, wiele firm zdecydowało się na przepisanie swoich aplikacji webowych właśnie do Go – z tych najpopularniejszych warto wymienić Wirtualną Polskę czy większe firmy takie jak Dropbox oraz YouTube (system vitess).
Niezmiernie ważna jest także ciągle rosnąca społeczności developerów i sympatyków. Golangowcy pracujący nad własnymi projektami, czy też zrzeszeni w ramach różnych firm, a także osoby, które w Go widzą przyszłość back-endu cały czas przyczyniają się do stale rosnącej funkcjonalności tego języka. Dla wielu doświadczonych programistów nauka języka Go jest intuicyjna i prosta. Dzięki temu czas do przyswojenia google’owego języka nie wymaga poświęcenia dużej ilości czasu. Niektórzy twierdzą, że Go może być nawet potomkiem C++ na miarę nowych wyzwań w XXI wieku.
Czas trwania
3 dni
Program
- Podstawy języka:
- zmienne
- stałe
- typy
- operatory
- zasięg
- sterowanie
- Struktury danych:
- Arrays
- Slices
- Maps
- Funkcje:
- argumenty
- zwracanie wielu wartości
- domknięcia (closures)
- Interfejsy:
- interface
- interfejsy z biblioteki standardowej
- Mechanizmy symulujące obiektowość oraz struktury
- Aplikacje webowe w Go z użyciem biblioteki standardowej:
- serwer HTTP
- szablony, przetwarzanie danych JSON
- współpraca z bazami danych (PostgreSQL)
- budowa prostego REST API
- Współbieżność:
- muteksy
- atomic
- channels
- Deployment applikacji
Training also available in English.
Przeznaczenie i wymagania
Zakładamy, że uczestnicy umieją programować w dowolnym innym języku (np. Python, Java, JavaScript). Uczestnik szkolenia powinien być w stanie napisać program, który prosi użytkownika o podanie dowolnej liczby, a następnie sprawdza, czy ta liczba jest liczbą pierwszą.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.