Wat is Go?

Voltooid

Go is een programmeertaal die is ontwikkeld bij Google. Het werd in 2009 aangekondigd als een opensource-project van Robert Griesemer, Rob Pike en Ken Thompson. Sindsdien is Go gebruikt voor het ontwikkelen van andere bekende technologieën, zoals Docker, Kubernetes en Terraform. Hoewel Go intensief wordt gebruikt in server- en cloudsoftware, is het een taal voor algemeen gebruik met een overvloed aan verschillende gebruiksvoorbeelden.

Go is expressief, beknopt en schoon. Het is ontworpen om idiomatisch te zijn, waardoor programmeurs productief code kunnen schrijven die efficiënt en robuust is. Programma's die in Go zijn geschreven, kunnen worden uitgevoerd op Unix-systemen, zoals Linux en macOS, en in Windows. Go is deels opmerkelijk vanwege de unieke gelijktijdigheidsmechanismen, waardoor het eenvoudig is om programma's te schrijven die kunnen profiteren van meerdere kernen tegelijk. Het is voornamelijk een sterk en statisch getypte taal, wat betekent dat variabele typen bekend zijn tijdens het compileren. Er zijn echter wel enkele dynamisch getypte mogelijkheden.

Volgens de TIOBE-index was Go de programmeertaal van het jaar in 2009 en 2016. Hoewel het de top in 2016 bereikt, behoudt Go een hoge waardering. Volgens de jaarlijkse Stack Overflow Developer Survey gaat Go verder als een populaire taal.

Go heeft veel overeenkomsten met C en neemt aspecten van C-syntaxis over, zoals controlestroominstructies, basisgegevenstypen, aanwijzers en andere elementen. De syntaxis en semantiek van de taal gaan echter verder dan C. Het tekent ook overeenkomsten met Java, C#, Python en meer. Over het algemeen leent Go functies van andere programmeertalen en past ze de meeste complexiteit aan. U kunt bijvoorbeeld enkele objectgeoriënteerde (OO) programmeerfuncties en ontwerppatronen in Go gebruiken, maar het volledige OO-paradigma is niet volledig geïmplementeerd. Verderop in dit leertraject leert u waarom.

Go-principes

Hier volgen de onderliggende voordelen van de programmeertaal Go:

  • De Go-licentie is 100% open source.
  • Go-programma's compileren naar één zelfstandig binair bestand, waardoor het eenvoudig is om te delen en te distribueren.
  • Go biedt ondersteuning voor het compileren van verschillende platforms en besturingssystemen.
  • Go streeft ernaar om de taal klein en eenvoudig te houden en om meer te doen in minder regels code.
  • Gelijktijdigheid is een eersteklas burger en stelt elke functie in staat om te worden uitgevoerd als een lichtgewicht thread met weinig programmeurwerk.
  • Go biedt automatisch geheugenbeheer, waaronder garbagecollection.
  • Compilatie en uitvoering zijn snel.
  • Go vereist dat alle code wordt gebruikt, anders wordt er een fout gegenereerd.
  • Er is een officiële opmaak die helpt bij het behouden van consistentie tussen projecten.
  • Go heeft een grote en uitgebreide standaardbibliotheek en veel toepassingen kunnen worden gebouwd zonder afhankelijkheden van derden.
  • Go garandeert achterwaartse taalcompatibiliteit met eerdere releases.

Go-use cases

  • Toepassingen op systeemniveau
  • Webtoepassingen
  • Cloudeigen apps
  • Hulpprogramma's en opdrachtregelprogramma's
  • Gedistribueerde systemen
  • Database-implementaties