
Go ir salīdzinoši jauna, bet populāra programmēšanas valoda. Autors Stack Overflow, tieši Golang saņēma trešo vietu to programmēšanas valodu vērtējumā, kuras izstrādātāji vēlētos apgūt. Šajā rakstā mēģināsim izprast Go popularitātes iemeslus, kā arī aplūkosim, kur šī valoda tiek lietota un kāpēc to vispār ir vērts mācīties.
Nedaudz vēstures
Go programmēšanas valodu izveidoja Google. Faktiski tā pilnais nosaukums Golang ir atvasinājums no “Google valodas”. Neskatoties uz to, ka valoda sludinājumā nosaukta par jauno, šogad tai aprit desmit gadi.
Go veidotāju mērķis bija izstrādāt vienkāršu un efektīvu programmēšanas valodu, ar kuras palīdzību varētu izveidot kvalitatīvu programmatūru. Robs Paiks, viens no Go radītājiem, stāstīja, ka Go ir paredzēts kompānijas programmētājiem, kuri ir salīdzinoši jauni absolventi un zina Java, C, C++ vai Python. Viņiem Go ir valoda, kuru var ātri saprast un pierast.
Sākotnēji tas bija Google rīks, taču laika gaitā tas parādījās no korporācijas dziļumiem un kļuva publiski zināms.
Valodas priekšrocības
Golangam ir daudz priekšrocību, gan labi zināmu, gan ne tik labi zināmu.
Vienkāršība. Patiesībā tas bija galvenais valodas izveides mērķis, un tas tika sasniegts. Go ir diezgan vienkārša sintakse (ar noteiktiem pieņēmumiem), tāpēc lietojumprogrammas var izstrādāt ātrāk nekā dažās citās valodās. Un šeit ir divi interesanti punkti.
Pirmkārt, Golangu diezgan ātri var apgūt pilnīgs programmēšanas iesācējs - kāds, kurš nezina nevienu valodu un tikai plāno kļūt par izstrādātāju. Par Go var teikt, ka tas ir gandrīz tikpat nesarežģīts (protams, salīdzinoši) kā PHP vai pat Pascal, bet tikpat spēcīgs kā C++.
Otrkārt, Go var apgūt “progresīvs programmētājs — kāds, kurš jau zina vienu vai vairākas valodas. Visbiežāk izstrādātāji apgūst Go pēc Python vai PHP apguves. Pēc tam daži programmētāji veiksmīgi izmanto pāri Python/Go vai PHP/Go.
Liels skaits bibliotēku. Ja programmā Go trūkst kādas funkcijas, varat izmantot kādu no daudzajām bibliotēkām un veikt nepieciešamo uzdevumu. Go ir vēl viena priekšrocība - jūs varat viegli mijiedarboties ar C bibliotēkām. Pastāv pat viedoklis, ka Go bibliotēkas ir C bibliotēku iesaiņojumi.
Koda tīrība. Go kompilators ļauj uzturēt kodu “tīru”. Piemēram, neizmantotie mainīgie tiek uzskatīti par kompilācijas kļūdu. Go atrisina lielāko daļu formatēšanas problēmu. Tas tiek darīts, piemēram, saglabājot vai kompilējot, izmantojot programmu gofmt. Formatējums tiek labots automātiski. Vairāk par to visu varat uzzināt apmācībā. .
Statiskā rakstīšana. Vēl viena Go priekšrocība ir tā, ka tas samazina iespēju, ka izstrādātājs kļūdīsies. Jā, pirmajās pāris dienās programmētājs, kurš pieradis pie dinamiskās rakstīšanas, kļūst aizkaitināts, kad viņam ir jādeklarē tips katram mainīgajam un funkcijai, kā arī visam pārējam. Bet tad kļūst skaidrs, ka šeit ir daudz priekšrocību.
. Lietderība, kas ievērojami vienkāršo koda dokumentēšanu. GoDoc lielā priekšrocība ir tā, ka tajā netiek izmantotas papildu valodas, piemēram, JavaDoc, PHPDoc vai JSDoc. Lietderība izmanto maksimālo informācijas apjomu, ko tā iegūst no dokumentētā koda.
Koda uzturēšana. To ir viegli uzturēt, pateicoties vienkāršai un kodolīgai sintaksei. Tas viss ir Google mantojums. Tā kā korporācijai ir milzīgs koda daudzums dažādiem programmatūras produktiem, kā arī desmitiem tūkstošu izstrādātāju, kas to visu sakārto, rodas apkopes problēma. Kodam jābūt saprotamam ikvienam, kas ar to strādā, labi dokumentētam un kodolīgam. Tas viss ir iespējams ar Go.
Tajā pašā laikā Golang nav klases (ir struktūras, struct) un nav atbalsta mantošanai, kas ievērojami atvieglo koda maiņu. Turklāt nav izņēmumu, anotāciju utt.
Ko jūs varat rakstīt Go?
Gandrīz viss, izņemot dažus punktus (piemēram, ar mašīnmācīšanos saistītās izstrādes - šeit piemērotāks ir Python ar zema līmeņa optimizācijām C/C++ un CUDA).
Visu pārējo var uzrakstīt, īpaši tas attiecas uz tīmekļa pakalpojumiem. Turklāt Go ir vērts izstrādāt lietojumprogrammas gan gala lietotājam, gan dēmonu, UI izstrādei, un tas ir piemērots vairāku platformu lietojumprogrammām un pakalpojumiem.
Pieprasījums pēc Golang

Laika gaitā valoda kļūst arvien populārāka. Papildus tiem uzņēmumiem, kas ir redzami augšējā attēlā, ar Golang strādā Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical un citi.
“Nolēmām paplašināt biznesu, mums ir svarīgi izveidot principiāli jaunu tehnoloģisko platformu, kas nodrošinās strauju produkta attīstību. Mēs paļaujamies uz Go, pateicoties tā ātrumam un uzticamībai, un, pats galvenais, programmētāju auditorijai, kas to izmanto,” sacīja Ozon pārstāvji 2018. gadā pēc tam, kad uzņēmums nolēma pāriet uz Golang.
Nu, kā ar ienākumiem?Go izstrādātāja alga pagājušajā gadā bija vidēji 60-140 tūkstoši rubļu. "Mans loks" Salīdzinot ar 2017. gadu, šis rādītājs pieauga par 8,3%. Izaugsme, visticamāk, turpināsies arī 2019. gadā, jo tik daudziem uzņēmumiem ir nepieciešami Golang izstrādātāji.
Ko tālāk?
Golangas attīstība noteikti neapstāsies. Vajadzība pēc labiem speciālistiem, kuri zina šo valodu, tikai pieaugs, tāpēc speciālistam (iesācējam vai profesionālim) nebūs grūti atrast darbu. Principā šis apgalvojums ir aktuāls arī šodien, jo IT tirgū pastāvīgi trūkst izstrādātāju.
Go ir piemērots gan iesācējiem programmētājiem, gan profesionāļiem, kuri jau zina vienu vai vairākas programmēšanas valodas. Gandrīz jebkurš programmētājs to var apgūt vai apgūt no jauna.
Raksts sagatavots kopīgi ar skolotāju Sergeja Kručiņina vietnē GeekBrains, par ko viņam liels paldies!
Avots: www.habr.com
