
Go je relativno mladi, ali popularan programski jezik. Prema Stack Overflow, upravo je Golang osvojio treće mesto na listi programskih jezika koje bi programeri želeli da savladaju. U ovom članku pokušat ćemo da istražimo razloge popularnosti Go-a, kao i da pogledamo gde se ovaj jezik koristi i zašto ga uopšte treba učiti.
Malo povijesti
Programsko jezika Go stvorila je kompanija Google. U stvari, puno ime mu je Golang – izvedeno od „Google language“. Iako je u najavi jezik nazvan mladim, ove godine puni deset godina.
Cilj koji su postavili kreatori Go-a bio je razviti jednostavan i efikasan programski jezik koji bi se mogao koristiti za kreiranje kvalitetnog softvera. Rob Pike, jedan od kreatora Go-a, izjavio je da je Go razvijen za programere u kompaniji koji su relativno nedavno završili školovanje i poznaju Java, C, C++ ili Python. Go je za njih jezik s kojim se brzo može ući u trag i kojem se brzo prilagođava.
Izvorno je bio alat unutar Google-a, ali s vremenom je izašao iz zida korporacije i postao javno dobro.
Prednosti jezika
Golang ima brojne prednosti, kako poznate, tako i manje poznate.
Jednostavnost. U stvari, to je bila glavna svrha stvaranja jezika, i to je uspešno postignuto. Go ima dovoljno jednostavnu sintaksu (uz određena odstupanja), tako da se aplikacije mogu razvijati brže nego na nekim drugim jezicima. I ovde postoje dva zanimljiva aspekta.
Prvo, Golang može prilično brzo da savlada potpun novice u programiranju – onaj ko ne zna ni jedan jezik i samo se sprema da postane programer. O Go-u se može reći da je gotovo jednako jednostavan (relativno, naravno), kao PHP ili čak Pascal, ali je isto tako snažan kao C++.
Drugo, Go može savladati već „formirani programer“, onaj ko već zna jedan ili više jezika. Najčešće programeri uče Go nakon što savladaju Python ili PHP. Takođe, neki programeri uspešno koriste kombinaciju Python/Go ili PHP/Go.
Veliki broj biblioteka. Ako vam nedostaje neka funkcionalnost u Go, možete se poslužiti jednom od mnogih biblioteka i ostvariti potrebni zadatak. Go ima još jednu prednost – može se bez problema komunicirati s bibliotekama jezika C. Postoji čak mišljenje da su Go biblioteke kontejneri za C biblioteke.
Čistoća koda. Go kompajler omogućava održavanje koda „čistim“. Na primjer, neiskorištene varijable smatraju se greškom u kompajliranju. U Go-u se većina problema sa formatiranjem rješava. To se čini, na primjer, pomoću programa gofmt prilikom spremanja ili kompajliranja. Formatiranje se automatski ispravlja. Više informacija o tome možete pronaći u vodiču. .
Statistička tipizacija. Još jedna prednost Go-a koja smanjuje vjerojatnost pogreške od strane programera. Da, prvih nekoliko dana programer naviknut na dinamičku tipizaciju može biti frustriran potrebom da proglasi tip za svaku varijablu i funkciju, kao i za sve ostalo. No potom postaje jasno da su ovdje same prednosti.
. Alat koji vrlo značajno pojednostavljuje dokumentiranje koda. Velika prednost GoDoc-a je ta što ne koristi dodatne jezike poput JavaDoc, PHPDoc ili JSDoc. Alat koristi maksimalnu količinu informacija koju izvlači iz dokumentiranog koda.
Održavanje koda. Jednostavno je održavati ga zahvaljujući jednostavnom i sažetom sintaktičkom obliku. Sve ovo je naslijeđe Google-a. Budući da korporacija ima ogromnu količinu koda za razne softverske proizvode, kao i desetke tisuća programera koji se time bave, pojavljuje se problem održavanja. Kod mora biti razumljiv svima koji na njemu rade, dobro dokumentiran i sažet. Sve to je moguće s Go-om.
U Golangu nema klasa (imamo strukture), nema podrške za nasljeđivanje, što značajno pojednostavljuje promjenu koda. Osim toga, nema izuzetaka, anotacija i slično.
Što se može napisati na Go-u
Praktički sve, osim nekih aspekata (na primjer, razvoj povezan s mašinskim učenjem – ovdje je ipak bolje koristiti Python s niskonivojskim optimizacijama na C/C++ i CUDA).
Sve ostalo može se napisati, a to je posebno aktualno kada su u pitanju web servisi. Osim toga, na Go se isplati razvijati aplikacije kako za krajnje korisnike, tako i za razvoj demona, UI; također je prikladan za multiplatformske aplikacije i servise.
Potražnja za Golangom

S vremenom je jezik postao sve traženiji. Osim tvrtki koje se nalaze na slici iznad, s Golangom rade Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical i drugi.
„Odlučili smo skalirati posao, važno nam je izgraditi potpuno novu tehnološku platformu koja će omogućiti brzi razvoj proizvoda. Oslanjamo se na Go zbog njegove brzine i pouzdanosti, a najvažnije je da imamo programersku publiku koja ga koristi“, izjavili su predstavnici Ozon-a 2018. godine, nakon što je tvrtka donijela odluku o prelasku na Golang.
A što je s prihodima? Plaća Go programera prošle godine iznosila je u prosjeku 60-140 tisuća rubalja, „Moj Krug“. U usporedbi s 2017. godinom, taj je pokazatelj porastao za 8,3%. U 2019. godini, vjerojatno će se rast nastaviti, jer je potražnja za Golang programerima vrlo velika.
Što dalje?
Razvoj Golanga sigurno se neće zaustaviti. Potražnja za dobrim stručnjacima koji poznaju ovaj jezik samo će rasti, stoga će specijalisti (bilo novaci ili profesionalci) lako pronaći posao. U načelu, ova tvrdnja vrijedi i sada, budući da na tržištu IT-a postoji stalni nedostatak programera.
Go je dobar kako za početnike programere, tako i za profesionalce koji već poznaju jedan ili više programskih jezika. Svaki programer može ga naučiti ili prekvalificirati se.
Članak je pripremljen u suradnji s nastavnikom u GeekBrainsu, za što mu velika hvala!
Izvor: habr.com
