Google Go: Programmiersprache für die Cloud

Die Sprache Go beherrscht Nebenläufigkeit durch Goroutines. Sie eignet sich damit für den Einsatz in skalierbaren und verteilten Systemen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Go für die Cloud
Lesezeit: 18 Min.
Von
  • Frank Müller
Inhaltsverzeichnis

Ende 2007 dauerte den drei Google-Mitarbeitern Ken Thompson, Rob Pike und Robert Griesemer das Kompilieren ihrer Software mal wieder zu lang. Darin und in weiteren Punkten erkannten sie ein Dilemma der damals existierenden Sprachen. So reifte bei ihnen als erfahrenen Sprachentwicklern eine Idee: Go. Alle waren zu diesem Zeitpunkt mit einigen Projekten beschäftigt. Ken Thompson, Träger des Turing Award, und Rob Pike arbeiteten zuvor an Multics, Unix, B als Vorgänger von C, Plan 9, dem Acme-Editor, UTF-8 und weiteren Projekten. Robert Griesemer befasste sich mit dem statisch typisierten Smalltalk-Ableger Strongtalk, der Java-VM HotSpot und der JavaScript-Engine V8.

Seinerzeit waren sie jedoch frustriert, dass keine Mainstreamsprache gleichzeitig ein effizientes Kompilieren und Ausführen sowie eine einfache Programmierung bot. Und so investierten sie etwas Konzeptarbeit, starteten Mitte 2008 mit der Implementierung und kündigten am 10. November 2009 eine Pre-Release an. Dieses Datum gilt heute als das offizielle Geburtsdatum der Sprache, auch wenn es bis zur Release 1.0 noch bis zum 28. März 2012 dauern sollte. Seitdem haben die drei, weitere Google-Mitarbeiter und Mitglieder der weltweiten Community einiges geschaffen.

Der Sprachstil ähnelt der Sprache C und ist statisch typisiert. Neben bool und string kennt Go eine Reihe numerischer Typen. Es sind Integer mit und ohne Vorzeichen in der Breite von 8, 16, 32 und 64 Bit. Sie werden als int und uint plus ihrer Breite angegeben, also uint8 und int64. Daneben liegen die Typen int und uint ohne eine angegebene Breite vor. Diese hängt von der Rechnerarchitektur ab und beträgt hier 32 oder 64 Bit. Den Abschluss der Ganzzahlen bilden die beiden Alias byte und rune. Letzterer nimmt UTF-8-Zeichen auf.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.