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

Artikel der Woche

Container-Anwendungen isolieren mit Aporeto Trireme

Beim Umstieg auf Container-basierte Anwendungen sind viele Klippen zu umschiffen, dies gilt insbesondere für das Thema Security. So lassen sich Anwendungen nur schwer voneinander kontrollierbar isolieren. Hier setzt Aporeto mit Trireme an. Die Software sorgt dank einer attributbasierten Zugriffskontrolle für mehr Sicherheit. Wir stellen das Konzept anhand eines Beispiels vor. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2017

Microsite