Zwei Jahre Go-Programmierung

11.11.2011

Am 10. November 2009 wurde die Programmiersprache Go veröffentlicht.

Als vor zwei Jahren die beiden Google-Mitarbeiter Rob Pike und Ken Thompson eine neue Programmiersprache vorstellten , war die Überraschung groß. Noch eine neue Programmiersprache, noch dazu von Google? Hinter der Neuschöpfung standen zudem zwei klangvolle Namen: Beide arbeiteten viele Jahre in den legendären Bell Labs, wo Ken Thompson an der Entstehung des Unix-Betriebssystems beteiligt war. Rob Pike wirkte noch am Unix-Projekt mit und führte später mit Thompson die Entwicklung des mutmaßlichen Unix-Nachfolgers Plan 9 an. Als sie Go am 10. November 2009 der Öffentlichkeit vorstellten, hatten sie, zusammen mit Robert Griesemer, bereits zwei Jahre an der Programmiersprache gearbeitet.

Syntaktisch ähnelt Go der Programmiersprache C, bringt aber einige moderne Features mit, die etwa das Arbeiten mit Dateien, Strings, Unicode und Datentypen wie Listen vereinfachen. Auch unkomplizierte Parallelprogrammierung für Multicore- oder verteilte Systeme will die Programmiersprache ermöglichen.  Dabei orientiert sie sich an dem von Tony Hoare entwickelten CSP-Prinzip kommunizierender Prozesse.

Ansonsten bringt Go nur wenige moderne Sprachfeatures mit, beispielsweise keine echte Objektorientierung, aber einen Garbage Collector fürs Memory Management.  Im Gegensatz zu den bekannten Skriptsprachen wie Python, Ruby, Perl oder PHP werden Go-Programme mit einem schnellen Compiler in nativen Code übersetzt. Wichtig ist den Entwicklern vor allem die schnelle Übersetzung und eine möglichst ballastfreie Syntax der Programmiersprache.

Seit der Veröffentlichung ist eine Vielzahl von Bibliotheken für jeden Zweck entstanden und auch die Sprache selbst hat sich weiterentwickelt. Semikolons beispielsweise sind nun in den meisten Fällen optional, es gibt einen Mechanismus zum Exception-Handling (panic/defer/recover) und neue Methoden für Arrays (siehe die Spezifikation ). Obwohl Go ursprünglich, wie C, zur Systemprogrammierung gedacht war, wird es nun auch in vielen anderen Bereichen eingesetzt, etwa für Webanwendungen. Schon die Standardbibliothek deckt ein weites Spektrum von Einsatzzwecken ab.

Bei der Veröffentlichung von Go war es unklar, ob und wie die Sprache überhaupt bei Google selbst eingesetzt werden würde, weil Google sich intern auf die Verwendung von Java und Python festgelegt hatte. Auch das hat sich seitdem geändert und Go steht nun experimentell als Sprache für die Google App Engine zur Verfügung . Vor kurzem wurde Version 1.6.0 des Go App Engine SDK veröffentlicht, die beispielsweise Hintergrundprozesse und andere Verbesserungen einführte. Auch die Go-Website golang.org läuft im Go-Modus auf der App Engine. Anfang 2012 soll Go auf der App Engine den experimentelle Status verlassen und gleichzeitig Go 1 erscheinen.

Einen ersten Eindruck von Go kann man sich am besten über die interaktive Tour unter http://tour.golang.org/ verschaffen. Der Austausch mit anderen Go-Interessierten findet über die Google-Group statt, die derzeit über 5200 Mitglieder hat.

Ähnliche Artikel

Mehr zum Thema

Programmieren mit Go

Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023