Login
Newsletter
Werbung

Fr, 30. November 2018, 12:45

Software::Entwicklung

Ausblick auf Go 2 und Go 1.13

Nach zehn Jahren will Google die Programmiersprache Go einer größeren Überarbeitung unterziehen. Dabei soll auch die Gemeinschaft einbezogen werden, die auf die ursprüngliche Version von Go noch keinen Einfluss hatte.

Mirko Lindner

Go existiert nun seit über zehn Jahren. Seit vor über sechs Jahren Version 1.0 erschienen ist, war die Stabilität der Sprache ein herausragendes Ziel. Vorhandener Code sollte mit jeder neuen Version weiter compilierbar bleiben. Durch Erweiterungen und Optimierungen wurde die Tauglichkeit von Go für produktive Systeme immer weiter gesteigert. Die Entwickler schätzen, dass es inzwischen eine halbe Million Go-Programmierer gibt, die Millionen von Quellcode-Dateien produziert haben.

Im Jahr 2015 wurde ein Prozess für Vorschläge für Erweiterungen der Sprache geschaffen. Darunter befanden sich auch Vorschläge, die nicht kompatibel waren. Diese wurden daher bisher nicht umgesetzt, sondern für eine eventuell zu entwickelnde überarbeitete Version von Go zurückgestellt. Diese Version wird vorläufig als Go 2 bezeichnet.

Seit 2017 wurden überhaupt keine Änderungen an Go mehr vorgenommen. Stattdessen wurde verstärkt über Go 2 nachgedacht, wie die Entwickler jetzt berichten. Rund 120 Vorschläge für Änderungen hat die Gemeinschaft inzwischen zusammengetragen, die jetzt von den leitenden Entwicklern sortiert wurden. Einige wurden abgewiesen, weil sie grundsätzlich nicht zu Go passen, die anderen wurden in Kategorien eingeteilt, beispielsweise für Änderungen, die kompatibel sind, und für solche, die einer Entscheidung bedürfen. Der Artikel beschreibt überwiegend nur den vorgesehenen Prozess der Entscheidungsfindung. Dabei muss berücksichtigt werden, dass ein größerer Kompatibilitätsbruch den gesamten bestehenden Code beeinträchtigen würde. Eine Folge kleinerer und möglichst kompatibler Änderungen ist daher wahrscheinlicher als ein »Go 2«, das die Sprache effektiv aufspalten würde.

Größere Wünsche für eine neue Version von Go sind bessere Fehlerbehandlung und generischer Code. Dies wird, wie die meisten anderen Änderungen, aber einige Zeit benötigen. Drei kleinere Änderungen dagegen sind kompatibel und sollen in der nächsten Version 1.13 von Go umgesetzt werden: Bezeichner (Namen von Variablen, Funktionen usw.) mit Unicode-Zeichen, Literale für Binärzahlen und Shifts um negative Beträge.

Die Gemeinschaft ist nun aufgerufen, die verbleibenden Vorschläge zu bewerten. Die mit der größten Zustimmung sollen bis Mai 2019 implementiert werden. Anfang Mai soll entschieden werden, ob die Änderungen beibehalten oder verworfen werden. Falls sie beibehalten werden, ist dies dauerhaft und die Stabilitätsgarantie von Go 1 wird auf sie erweitert.

Als die Entwicklung von Go 2007 begann, hatte die Gemeinschaft noch keinen Einfluss, denn Go wurde bei Google von den Unix- und C-Veteranen Rob Pike, Robert Griesemer und Ken Thompson ersonnen, zu denen dann noch Russ Cox und Ian Lance Taylor stießen. Im März 2012 veröffentlichte das Team Version 1.0 von Go. Go ist als moderne Alternative zu C und C++ für die Systemprogrammierung konzipiert. Es ist statisch typisiert, modular und objektorientiert und bietet automatische Speicherverwaltung, Konstrukte zur Parallelausführung von Code und vieles mehr. Skalierbarkeit war von Anfang an ein wichtiges Ziel. Sowohl sehr große Software als auch solche, die auf vielen Rechnern parallel läuft, sollte mit Go zu bewältigen sein.

Werbung
Kommentare (Insgesamt: 2 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung