Menü
Developer

Programmiersprachen: Ausblick auf Go 1.5

Die für August geplante Version der Programmiersprache befindet sich derzeit in der Feature-Freeze-Phase. Erstmals wird hier nur Go und etwas Assembler-Code eingesetzt, da sich die Entwickler mit dem Release von C verabschieden.

Von
vorlesen Drucken Kommentare lesen 78 Beiträge
Ausblick auf Go 1.5

Kurz vor Googles Entwicklerkonferenz Google I/O, die am Donnerstag beginnt, haben sich einige der Go-Entwickler beim Gopherfest in San Francisco getroffen, um über den aktuellen Stand der Arbeiten an der Programmiersprache des Unternehmens zu informieren. Der Zeitpunkt scheint gut gewählt, befindet sich die kommende Version 1.5 doch derzeit im Feature Freeze, was bedeutet, dass alle ergänzenden Funktionen feststehen und vor der für August angesetzten Veröffentlichung nun nur noch Tests und Fehlerkorrekturen durchzuführen sind.

Als größte Neuerung sieht das Go-Team wohl den internen Umstieg von C nach Go. Weder in der Toolchain noch in der Laufzeitumgebung soll in Go 1.5 nach den letzten Arbeiten noch C-Code zu finden sein. Die Programmiersprache war wohl anfangs zu Bootstrapping-Zwecken eingesetzt worden, zumal Go auch nicht dafür gedacht war, Compiler zu implementieren. Die Entwickler seien aber umgestiegen, da es nach ihrer Meinung einfacher ist, korrekten Go-Code zu schreiben. Außerdem ließe sich dieser besser debuggen; Go weise unter anderem bessere Möglichkeiten zur parallelen Ausführung, Modularisierung und für Profiling-Zwecke auf.

Die Laufzeitumgebung sei derweil umgestellt worden, da zuvor ein eigener C-Compiler nötig gewesen sei, um sie zu erstellen. Zudem müsse nun wohl ein Compiler her, der dieselbe Binärschnittstelle wie Go aufweisen konnte. Da in Version 1.5 überall nur noch eine Sprache eingesetzt wird, sollen zudem der Einstieg für neue Projektmitarbeiter und Dinge wie Integration und ähnliches leichter fallen. Mehr Details zum Wechsel von C nach Go finden sich in den Präsentationsmaterialien von Go-Miterfinder Rob Pike.

Darüber hinaus enthält Go 1.5 wohl einen Nebenläufigkeit nutzenden Garbage Collector, der ein wenig mehr Speicher und CPU-Zeit in Anspruch nehmen soll, dafür aber kürzere Pausen als der Vorgänger einlege. Es wird mit der neuen Version auch möglich sein, Bibliotheken zu erstellen, die Go-Programme nutzen können (Shared Libraries) und Go-Programme in C-Archiv-Dateien oder Shared Libraries für C-Programme umzubauen.

Durch die Änderungen in Version 1.5 konnten die Entwickler einige Verbesserungen in Sachen Performance erreichen.

In Sachen Tooling haben die Entwickler einen neuen Execution Tracker erdacht, der Daten sammelt, um aus ihnen Diagramme zur Ausführung von Prozessen erstellen zu können. Auch für Analyse und Refactoring gibt es einige neue Werkzeuge, mit denen sich etwa der Call-Graph eines Go-Programms oder Details der Zeiger-Analyse ausgeben, Identifier im Code typsicher umbenennen oder Quellen auf Grundlage von Templates umarbeiten lassen. Weitere Neuerungen, zu denen auch Support für Android und versuchsweise für iOS sowie ein Tool zum Erleichtern von Installation des SDKs und Arbeit damit zählen, lassen sich einem Foliensatz von Andrew Gerrand entnehmen.

Google hatte Go 2009 vorgestellt und als Alternative zu C positioniert. Sie sollte vor allem für die Systemprogrammierung eingesetzt werden. 2012 feierten die Entwickler die Veröffentlichung der ersten Hauptversion. Heute findet die Sprache unter anderem bei SoundCloud, Docker und MongoDB Verwendung. (jul)