
Go is een relatief jonge, maar populaire programmeertaal. VolgensĀ van Stack Overflow heeft Golang de derde plaats behaald in de ranglijst van programmeertalen die ontwikkelaars graag zouden willen leren. In dit artikel zullen we de redenen voor de populariteit van Go onderzoeken en bekijken waar deze taal wordt gebruikt en waarom het de moeite waard is om te leren.
Een beetje geschiedenis
De programmeertaal Go is ontwikkeld door Google. Eigenlijk is de volledige naam Golang, een afgeleide van "Google language". Hoewel de taal bij de aankondiging als jong werd gepresenteerd, viert deze jaar al zijn tienjarige bestaan.
Het doel dat de ontwikkelaars van Go voor ogen hadden, was het ontwikkelen van een eenvoudige en efficiƫnte programmeertaal die gebruikt kon worden voor het creƫren van kwaliteitssoftware. Rob Pike, een van de makers van Go, verklaarde dat Go was ontwikkeld voor programmeurs van het bedrijf die relatief recent afgestudeerd zijn en bekend zijn met Java, C, C++ of Python. Go is voor hen een taal waarin je snel kunt inwerken en waaraan je snel gewend raakt.
Oorspronkelijk was het een interne tool binnen Google, maar na verloop van tijd kwam het ter beschikking van het publiek.
Voordelen van de taal
Golang heeft een groot aantal voordelen, zowel bekende als minder bekende.
Eenvoud. Dit was in feite de belangrijkste doelstelling bij het creƫren van de taal, en dat is gelukt. Go heeft een relatief eenvoudige syntaxis (met bepaalde aannames), waardoor je applicaties sneller kunt ontwikkelen dan in sommige andere talen. Er zijn hier twee interessante punten.
Ten eerste kan een complete nieuwkomer in de programmering, iemand die helemaal geen enkele taal kent en net begint als ontwikkelaar, Go vrij snel leren. Je zou kunnen zeggen dat Go bijna net zo eenvoudig is (relatief gesproken) als PHP of zelfs Pascal, maar net zo krachtig als C++.
Ten tweede kan een "ervaren programmeur", die al ƩƩn of meerdere talen kent, Go leren. Vaak leren ontwikkelaars Go nadat ze Python of PHP hebben geleerd. Vervolgens gebruiken sommige programmeurs met succes de combinatie Python/Go of PHP/Go.
Een groot aantal bibliotheken. Als je een bepaalde functionaliteit mist in Go, kun je een van de vele bibliotheken gebruiken om de gewenste taak uit te voeren. Go heeft nog een voordeel: je kunt eenvoudig omgaan met C-bibliotheken. Sommigen beweren zelfs dat Go-bibliotheken wrappers zijn voor C-bibliotheken.
Schoonheid van de code. De Go-compiler zorgt ervoor dat de code 'schoon' blijft. Ongebruikte variabelen worden bijvoorbeeld als een compilerfout beschouwd. In Go wordt het grootste deel van de formatteringsproblemen opgelost. Dit gebeurt bijvoorbeeld met het programma gofmt bij het opslaan of compileren. De opmaak wordt automatisch gecorrigeerd. Meer hierover kun je lezen in de tutorial. .
Statische typing. Een ander voordeel van Go, waardoor de kans op fouten van de ontwikkelaar afneemt. Ja, de eerste paar dagen kan een programmeur die gewend is aan dynamische typing zich ergeren aan de noodzaak om een type voor elke variabele en functie te declareren, net zoals voor alles wat verder gaat. Maar al snel wordt duidelijk dat dit alleen maar voordelen heeft.
. Een hulpprogramma dat het documenteren van de code aanzienlijk vereenvoudigt. Een groot pluspunt van GoDoc is dat er geen extra talen zoals JavaDoc, PHPDoc of JSDoc worden gebruikt. Het hulpprogramma maakt gebruik van de maximale hoeveelheid informatie die het uit de te documenteren code haalt.
Onderhoud van code. Het is gemakkelijk te onderhouden, precies dankzij de eenvoudige en beknopte syntaxis. Dit is allemaal een erfenis van Google. Aangezien het bedrijf een enorm aantal codes heeft voor verschillende softwareproducten, en ook tienduizenden ontwikkelaars die dit alles analyseren, ontstaat er een onderhoudsprobleem. De code moet begrijpelijk zijn voor iedereen die eraan werkt, goed gedocumenteerd en beknopt. Al deze dingen zijn mogelijk met Go.
Bovendien zijn er in Golang geen klassen (er zijn structuren), geen ondersteuning voor overerving, wat het wijzigen van de code aanzienlijk vereenvoudigt. Er zijn ook geen uitzonderingen, annotaties, enz.
Wat je kunt schrijven in Go
Bijna alles, behalve enkele zaken (bijvoorbeeld ontwikkeling gerelateerd aan machinelearning ā hiervoor is Python met low-level optimalisaties in C/C++ en CUDA beter geschikt).
Alles wat niet is geschreven, kan worden geschreven, vooral in relatie tot webservices. Bovendien is Go geschikt voor het ontwikkelen van applicaties voor zowel eindgebruikers als voor het ontwikkelen van demon-applicaties en UI; het is geschikt voor cross-platform applicaties en services.
Vraag naar Golang

Na verloop van tijd wordt de taal steeds meer gevraagd. Naast de bedrijven die op de afbeelding hierboven te zien zijn, werken ook Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical en anderen met Golang.
āWe hebben besloten om ons bedrijf te schalen; het is belangrijk voor ons om een fundamenteel nieuw technologisch platform te bouwen dat een snelle productontwikkeling mogelijk maakt. We wedden op Go vanwege de snelheid en betrouwbaarheid, en vooral vanwege het aantal programmeurs dat het gebruiktā, zeiden vertegenwoordigers van Ozon in 2018, nadat het bedrijf had besloten over te schakelen naar Golang.
Maar hoe zit het met de inkomsten? Het salaris van een Go-ontwikkelaar bedroeg vorig jaar gemiddeld 60-140 duizend roebel volgens āMijn Cirkelā. In vergelijking met 2017 is dit cijfer met 8,3% gestegen. In 2019 zal de groei naar verwachting doorgaan, aangezien veel bedrijven behoefte hebben aan Golang-ontwikkelaars.
Wat nu?
De ontwikkeling van Golang zal beslist niet stoppen. De vraag naar goede specialisten die deze taal beheersen, zal alleen maar toenemen, dus het zal niet moeilijk zijn voor een specialist (of je nu beginnend of professioneel bent) om werk te vinden. Dit is in principe een actuele verklaring, aangezien er in de IT-markt een voortdurend tekort aan ontwikkelaars is.
Go is geweldig voor zowel beginnende programmeurs als voor professionals die al ƩƩn of meerdere programmeertalen kennen. Bijna elke programmeur kan het leren of omscholen.
Het artikel is gezamenlijk opgesteld met de docent in GeekBrains, Sergei Kruchinin, waarvoor speciale dank!
Bron: habr.com
