Erste Vorschläge für Go 2 bereits integriert Go 1.13 steht vor der Finalisierung

Redakteur: Stephan Augsten |

Während das Team hinter der Programmiersprache Go die Version 1.13 finalisiert, nimmt es schon Vorschläge für Go 2 entgegen. Einige der Verbesserungen flossen und fließen in das aktuelle und das kommende Minor Release 1.14 ein.

Anbieter zum Thema

Go 1.13 steht gerade einmal in den Startlöchern, da veröffentlicht das Team auch schon die Pläne für Version 1.14 und Go 2.
Go 1.13 steht gerade einmal in den Startlöchern, da veröffentlicht das Team auch schon die Pläne für Version 1.14 und Go 2.
(Bild: gophercolor.png / Renee French / CC BY 3.0)

Go 1.13 wird voraussichtlich bereits Anfang August veröffentlicht und soll als erste Version konkrete Änderungen an der Sprache und nicht nur geringfügige Anpassungen der Spezifikation) beinhalten. Die aktuellen Sprachänderungen basierten laut einem Blog-Eintrag des Go-Teammitglieds Robert Griesemer auf „einer kleinen Reihe von tragfähigen Vorschlägen, die aus der viel umfangreicheren Liste der Go-2-Vorschläge ausgewählt wurden […].“

Die Kriterien für die Gewichtung von Go-Verbesserungsvorschlägen nannte das Team im Blog „Go 2, here we come“, aus dem November 2018. Besonders viel Wert wurde aber darauf gelegt, dass die vorgeschlagenen Änderungen rückwärtskompatibel sein mussten, um Störungen zu vermeiden. „Wir wollten, dass unsere erste Auswahl an Vorschlägen relativ klein und weitgehend unumstritten ist und eine relativ hohe Wahrscheinlichkeit hat, dass sie den Prozess überstehen“, begründet Griesemer.

Ursprünglich bestand die Vorschlagsliste aus allgemeinen Unicode-Identifikatoren, der Einführung binärer ganzzahliger Literale und Trennzeichen für Zahlenliterale sowie der Möglichkeit, Ganzzahlen mit Vorzeichen (Signed Integer) als Shift-Counter zu verwenden. Diese Liste wurde sowohl beschnitten als auch erweitert.

Die allgemeinen Unicode-Identifikatoren fielen heraus, weil ein konkretes Designdokument nicht rechtzeitig zur Verfügung srand. Der Vorschlag für binäre Ganzzahlliterale wurde deutlich erweitert und führte zu einer umfassenden Überarbeitung und Modernisierung der Go-Zahlenliteralsyntax. Der Go-2-Entwurf des Designvorschlags wurde entsprechend zur Fehlerprüfung hinzugefügt und teilweise akzeptiert.

Vorschläge für Go 1.14

Als maßgebliches Ziel für die Weiterentwicklung von Go nennt Griesemer die bessere Skalierung der Softwareentwicklung, als drei große Hemmschuhe betrachtet er Paket- und Versionsmanagement, Fehlerbehandlung und generische Funktionen. Erstes wird mit dem stetig verbesserten Go-Modul-Support adressiert, was sich auch auf die letzteren beiden auswirke.

Für die Fehlerbehandlung wurde bereits ein konkreter Vorschlag erarbeitet, bei der generischen Programmierung stehe man noch am Anfang. Bei der Arbeit an Go 1.14 wolle mit kleineren Verbesserungen fortfahren, von einer integrierten Go-Fehlerprüfungsfunktion, „try“ über die Einbettung überlappender Schnittstellen bis hin zu Designprinzipien für kryptographische Bibliotheken.

Detaillierte Informationen finden Interessierte im Blog-Eintrag „Next steps toward Go 2“.

(ID:46000211)