
Go on suhteliselt noor, aga populaarne programmeerimiskeel. Vastavalt sai Golang programmeerimiskeelte edetabelis kolmanda koha, mida arendajad soovivad õppida. Selles artiklis üritame mõista Go populaarsuse põhjuseid ning vaatame, kus seda keelt kasutatakse ja miks seda üldse õppida tasub.
Veidi ajalugu
Go programmeerimiskeel loodi Google'i ettevõtte poolt. Tegelikult on selle täisnimi Golang, mis on tuletatud "Google language". Kuigi keelt tunti noore keele nime all, täitub sel aastal juba kümme aastat.
Eesmärk, mis Go loojate ette seati, oli arendada lihtne ja tõhus programmeerimiskeel, mida saaks kasutada kvaliteetse tarkvara loomisel. Rob Pike, üks Go loojatest, ütles, et Go oli arendatud ettevõtte programmeerijatele, kes on suhteliselt hiljuti lõpetanud õpingud ja tunnevad Java, C, C++ või Pythonit. Go on nende jaoks keel, millega on lihtne tutvuda ja millele harjub kiiresti.
Alguses oli see tööriist Google'is, kuid aja jooksul tuli see välja ettevõtte sügavustest ja sai avalikkuse omandiks.
Keelenahkade eelised
Golang'il on palju plusse, nii tuntud kui ka vähem tuntud.
Lihtsus. Omandama eesmärk keele loomisel oli saavutatud. Go-l on piisavalt lihtne süntaks (teatud eranditega), seega saab rakendusi arendada kiiremini kui mõnes teises keeles. Siin on kaks huvitavat punkt.
Esiteks, Golang on piisavalt kiire õppima täielik algaja programmeerimises — keegi, kes ei tea üldse ühtegi keelt ja alles kavatseb saada arendajaks. Go-d võib kirjeldada peaaegu sama lihtsana (relatiivselt, muidugi) nagu PHP või isegi Pascal, kuid sama võimsana nagu C++.
Teiseks, Go-d võib omandada juba 'kujundatud programmeerija', kes tunneb juba üht või mitut keelt. Enamasti õpivad arendajad Go-d pärast Python'i või PHP-d. Edasi mõned programmeerijad kasutavad edukalt paari Python/Go või PHP/Go.
Suur hulk raamatukogusid. Kui Go's puudub mõni funktsionaalsus, saab kasutada ühte paljusid raamatukogusid ja täita vajalikku ülesannet. Go-l on veel üks eelis — see suudab probleemideta suhelda C keele raamatukogudega. On isegi arvamus, et Go raamatukogud on C raamatukogude ümberpakitud versioonid.
Koodi puhtus. Go kompilaator aitab hoida koodi „puhta“. Näiteks peetakse kasutamata muutujaid kompileerimisveaks. Go-s lahendatakse enamik vormindamise probleeme. Seda tehakse näiteks programmi gofmt abil salvestamisel või kompileerimisel. Vormindamine parandatakse automaatselt. Rohkem teavet selle kohta leiate õpetusest. .
Statiline tüübistamine. Veel üks Go eelis, mis vähendab arendaja eksimise tõenäosust. Jah, esimesed paar päeva häirib programmeerijat, kes on harjunud dünaamilise tüübistamisega, vajadus deklareerida tüüp iga muutuja ja funktsiooni jaoks, nagu ka kõigi teiste jaoks. Kuid hiljem saab selgeks, et siin on ainult plussid.
. Tööriist, mis lihtsustab koodi dokumenteerimist. GoDoci suur pluus on see, et siin ei kasutata täiendavaid keeli nagu JavaDoc, PHPDoc või JSDoc. Tööriist kasutab maksimaalset teavet, mida ta dokumenteeritavast koodist väljatoob.
Koodi hooldus. Seda on lihtne hooldada tänu lihtsale ja selgele süntaksile. Kõik see on Google'st saadud pärand. Kuna korporatsioonil on suur hulk koodi erinevate tarkvaratoodete jaoks ning kümneid tuhandeid arendajaid, kes sellega tegelevad, tekib hoolduse probleem. Kood peab olema mõistetav kõigile, kes selle kallal töötavad, hästi dokumenteeritud ja kompaktne. Kõik see on võimalike Go-ga.
Samas ei ole Golangis klasse (on struktuurid, struct), ei ole pärandtoetust, mis muudab koodi muutmise oluliselt lihtsamaks. Pluss puuduvad erandid, annotatsioonid jms.
Mida on võimalik Go-s kirjutada
Peaaegu kõike, välja arvatud mõned hetked (näiteks masinõppega seotud arendused — siin sobib siiski rohkem Python koos madala taseme optimeerimisega C/C++ ja CUDA-l).
Kõike muud saab kirjutada, see on eriti oluline veebi teenuste osas. Lisaks sobib Go rakenduste arendamiseks nii lõppkasutajatele kui ka demonite, UI arendamiseks, ja see on ideaalne platvormidevahelistes rakendustes ja teenustes.
Golang'i nõudlus

Aja jooksul muutub keel üha nõutavamaks. Lisaks ülaltoodud ettevõtetele, töötavad Golangiga Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical ja teised.
„Otsustasime äri kasvatada, meil on tähtis üles ehitada täiesti uus tehnoloogiline platvorm, mis tagab toote kiire arengu. Panustame Go-le selle kiirusest ja usaldusväärsusest tulenevalt, ja peamine on see, et palju programmeerijaid kasutab seda,“ ütlesid Ozon'i esindajad 2018. aastal, pärast seda, kui ettevõte otsustas minna üle Golang'ile.
Aga kuidas on tuludega? Go-arendaja keskmine palk eelmisel aastal oli 60-140 tuhat rubla „Minu Ring“. Võrreldes 2017. aastaga on see näitaja tõusnud 8,3%. 2019. aastal tõenäoliselt jätkub kasv, kuna Golang'i arendajaid vajavad paljud ettevõtted. «Minu Ring». 2017. aastaga võrreldes on see näitaja kasvanud 8,3%. 2019. aastal tõenäoliselt kasv jätkub, kuna Golangi arendajaid vajavad paljud ettevõtted.
Mis edasi?
Golang arengamine ei jää kindlasti staatiliseks. Heade spetsialistide vajadus, kes tunnevad seda keelt, suureneb pidevalt, seega on spetsialistil (alustaval või professionaalil) lihtne tööd leida. Tegelikult on see väide aktuaalne juba praegu, kuna IT-turul on pidev arendajate puudus.
Go on hea nii algajatele programmeerijatele kui ka professionaalidele, kes juba tunnevad ühte või mitut programmeerimiskeelt. Seda õpib või ümber õpib praktiliselt iga programmeerija.
Artikkel koostati koos õpetaja GeekBrains'is Sergei Kruchininiga, mille eest suur tänu!
Allikas: habr.com
