bk99.de entertain the web since 1997

Go verbindet Systemnähe mit einfacher Nebenläufigkeit

Zusammenfassung

Google veröffentlicht Go als kompiliertes Open-Source-Systemwerkzeug mit Garbage Collection, schnellen Builds und eingebauten Nebenläufigkeitsprimitiven.

Ideen

  • Goroutinen modellieren viele unabhängige Abläufe mit geringem Verwaltungsaufwand.
  • Channels übertragen Werte und synchronisieren kommunizierende Prozesse.
  • Statische Typisierung erkennt Fehler vor der Ausführung.
  • Typinferenz reduziert Wiederholung ohne dynamische Typisierung.
  • Eine einfache Grammatik beschleunigt Parser, Werkzeuge und Builds.
  • Eine Standardbibliothek deckt Netzwerk-, Datei- und Kryptografieaufgaben ab.

Einsichten

  • Sprachdesign kann Betriebsprobleme direkt als einfache Primitive abbilden.
  • Schnelle Werkzeugketten verändern die Bereitschaft zu kleinen, häufigen Änderungen.
  • Wenige Sprachfunktionen erleichtern gemeinsame Konventionen in großen Teams.
  • Nebenläufigkeit wird beherrschbarer, wenn Kommunikation statt Speicherteilung im Vordergrund steht.

Fakten

  • Go wurde im November 2009 öffentlich angekündigt.
  • Robert Griesemer, Rob Pike und Ken Thompson entwarfen die Sprache.
  • Go kompiliert nativen Maschinencode.
  • Die Implementierung wurde als freie Software veröffentlicht.

Empfehlungen

  • Nutze Goroutinen nur mit klarer Beendigung und Fehlerweitergabe.
  • Miss blockierte Channels und Warteschlangen unter realistischer Last.
  • Formatiere Quelltext automatisiert mit den Standardwerkzeugen.

Referenzen

Originalartikel lesen →