
Go on suhteliselt noor, kuid populaarne programmeerimiskeel. Vastavalt Stack Overflow's sai Golang kolmanda koha programmeerimiskeelte edetabelis, mida arendajad sooviksid Ă”ppida. Selles artiklis pĂŒĂŒame mĂ”ista Go populaarsuse pĂ”hjuseid ning vaatame, kus ja miks seda keelt tasub Ă”ppida.
Enne kui liigume edasi
Go programmeerimiskeel loodi Google'i poolt. TĂ”epoolest, selle tĂ€isnimetus Golang on tuletatud sĂ”nadest "Google language". Kuigi keelt nimetati nooreks, tĂ€itub sel aastal juba kĂŒmme aastat.
Celi, mille keskmes olid Go loojad, oli arendada lihtsalt ja tĂ”husat programmeerimiskeelt, mida saaks kasutada kvaliteetse tarkvara loomiseks. Rob Pike, ĂŒks Go loojatest, teatas, et Go aarendas programmis, kes on hiljuti oma Ă”pingud lĂ”petanud ja tunneb Java, C, C++ vĂ”i Pythonit. Go on nende jaoks keel, millesse on lihtne sĂŒveneda ja millega harjub kiiresti.
Alguses oli see tööriist Googleâis, kuid aja jooksul tuli see korporatsiooni sĂŒlest vĂ€lja ja sai avalikkuse omanduseks.
Keeli eelised
Golangil on palju plusse, nii tuntud kui mitte nii hÀsti tuntud.
Lihtsus. Tegelikult oli see keele loomise peamine eesmĂ€rk ning seda on Ă”nnestunud saavutada. Go-l on piisavalt lihtne sĂŒntaks (teatud eranditega), seega saab rakendusi arendada kiiremini kui mĂ”nes teises keeles. Siin on kaks huvitavat punkti.
Esiteks, Golang on piisavalt kiiresti omandatav tĂ€ieliku algaja jaoks, kes ei tea ĂŒldse ĂŒhtegi keelt ja plaanib just alustada arendajana. Go kohta vĂ”ib öelda, et see on peaaegu sama lihtne (suhteliselt, muidugi) kui PHP vĂ”i isegi Pascal, kuid samas sama vĂ”imas kui C++.
Teiseks, Go suudab omandada ka juba "vĂ€ljakujunenud programmeerija", kes tunneb ĂŒhte vĂ”i mitut keelt. KĂ”ige sagedamini Ă”pivad arendajad Go pĂ€rast seda, kui nad on omandanud Pythonit vĂ”i PHP-d. Paljud programmeerijad kasutavad tĂ”husalt kombinatsiooni Python/Go vĂ”i PHP/Go.
Suur hulk teeke. Kui Go-st puudub mĂ”ni vĂ”imalus, saab kasutada ĂŒhte paljusid raamatukogusid ja vajalikku ĂŒlesannet tĂ€ita. Go-l on veel ĂŒks eelis - see suudab probleemideta suhelda C-keele raamatukogudega. On isegi arvamus, et Go-raamatukogud on C-raamatukogude ĂŒmbrikud.
Koodi puhtus. Go kompilaator vÔimaldab hoida koodi "puhtana". NÀiteks peetakse kasutamata muutujaid kompileerimisveaks. Go-s lahendatakse suurem osa vormindamisprobleeme. Seda tehakse nÀiteks gofmt programmi abil salvestamisel vÔi kompileerimisel. Vormindamine korrigeeritakse automaatselt. Lisainfot selle kohta saab lugeda Ôpetusest. .
Staatiline tĂŒĂŒbistamine. Veel ĂŒks Go eelis, mis vĂ€hendab arendaja valeotsuste tegemise tĂ”enĂ€osust. Jah, esimesed paar pĂ€eva hĂ€irib programmeerijat, kes on harjunud dĂŒnaamilise tĂŒĂŒbi mÀÀramisega, vajadus deklareerida tĂŒĂŒp iga muutuja ja funktsiooni jaoks, samuti kĂ”ike muud. Kuid hiljem saab selgeks, et siin on ainult eeliseid.
. Utiliit, mis muudab koodi dokumenteerimise vÀga lihtsaks. Suureks plussiks GoDoc-is on see, et siin ei kasutata tÀiendavaid keeli nagu JavaDoc, PHPDoc vÔi JSDoc. Utiliit kasutab maksimaalselt teavet, mille ta tÔmbab dokumenteeritavast koodist.
Koodi hooldus. Seda on lihtne hooldada just tĂ€nu lihtsale ja lakoonilisele sĂŒntaksile. See on kĂ”ik Googlest pĂ€rinev. Kuna korporatsioonil on tohutul hulgal koodi erinevates tarkvaratoodetes ning kĂŒmneid tuhandeid arendajaid, kes kĂ”ike seda kĂ€sitleda, tekib hooldustööde probleem. Kood peab olema selge kĂ”igile, kes sellega töötavad, hĂ€sti dokumenteeritud ja lakooniline. KĂ”ik see on Go-ga vĂ”imalik.
Samuti ei ole Golangis klasse (olemas on struktuurid, struct), pole pÀrimistoetust, mis oluliselt lihtsustab koodi muutmist. Pluss pole erandeid, annotatsioone jne.
Mida saab Go-s kirjutada
Praktiselt kÔike, vÀlja arvatud mÔned aspektid (nÀiteks masinÔppega seotud arendused - siin sobib siiski rohkem Python koos madala taseme optimeeringutega C/C++ ja CUDA).
KÔike muud saab kirjutada, eriti on see asjakohane web-teenuste osas. Lisaks on Go hea valik rakenduste arendamiseks nii lÔppkasutajatele kui ka demonite, kasutajaliideste arendamiseks, see sobib ristplatvormi rakenduste ja teenuste jaoks.
Golang'i nÔudlus

Aja jooksul muutub keel jĂ€rjest enam nĂ”utuks. Lisaks ĂŒlaltoodud piltidel olevatele ettevĂ”tetele töötab Golang'i kallal ka Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical ja teised.
âMe otsustasime oma Ă€ri skaleerida, meil on oluline luua tĂ€iesti uus tehnoloogiline platvorm, mis tagab toote kiire arengu. Panustame Go'le tema kiirusest ja usaldusvÀÀrsusest, aga mis kĂ”ige tĂ€htsam â programmeritest, kes seda kasutavad,â ĂŒtlesid Ozon'i esindajad 2018. aastal, pĂ€rast seda kui ettevĂ”te otsustas minna Golang'i peale.
Aga mis on tulu? Eelmisel aastal oli Go-arendaja keskmine palk 60â140 tuhat rubla âMinu Ămberâ. VĂ”rreldes 2017. aastaga kasvas see nĂ€itaja 8,3%. Eeldatavasti jĂ€tkub kasv ka 2019. aastal, kuna Golang'i arendajate jĂ€rele on paljudes ettevĂ”tetes suuri vajadusi.
Mis edasi?
Golang'i arengus peatumine ei tule kindlasti kĂ”ne alla. Heade spetsialistide vajadus, kes seda keelt tunnevad, suureneb pidevalt, seega on spetsialistil (algaja vĂ”i professionaal) lihtne tööd leida. Tegelikult on see ĂŒtlus aktuaalne ka praegu, kuna IT-turul on pidev arendajate puudus.
Go on hea nii algajatele programmeerijatele kui ka professionaalidele, kes juba tunnevad ĂŒht vĂ”i mitut programmeerimiskeelt. Peaaegu iga programmeerija suudab selle Ă€ra Ă”ppida vĂ”i ĂŒmber Ă”ppida.
Artikkel valmis koostöös Ôpetaja GeekBrains'is Sergei Kruchiniiniga, kellele suur aitÀh!
Allikas: habr.com
