Open Source: Go soll generische Typen bekommen
Die wohl am meisten geforderte und gewünschte Neuerung für die Sprache Go könnte nun endlich umgesetzt werden.

Die Programmiersprache Go soll um generische Typen (Generics) erweitert werden. Dazu haben die Beteiligten einen entsprechenden Eintrag im Bug- und Issue-Tracker der Sprache auf Github angelegt, wie das Team in seinem Blog schreibt. Seit der ersten Ankündigung von Go im Jahr 2009 sei diese Funktion eine der am häufigsten geforderten Sprachfunktionen. Nach mehr als zehn Jahren Nutzung der Sprache könnte diese nun also umgesetzt werden.
Erste konkrete Vorschläge dazu und Argumente für die Umsetzung hat das Team im Sommer 2019 in einem Vortrag auf der Konferenz Gophercon vorgestellt. Die Idee der Generics ist dabei, bestimmte Funktionen oder Datenstrukturen generisch zu definieren und damit über die in Sprache vorhandenen grundlegenden Datentypen zu abstrahieren. So könnten sich etwa Listen inklusive dafür notwendiger Algorithmen zum Sortieren oder Ähnliches für einen abstrakten Datentyp definieren lassen, was dann jeweils beim konkreten Aufruf mit den tatsächlichen Typen ausgefüllt wird.
In dynamisch typisierten Sprachen wie etwa Python oder Javascript spielen derartige Überlegungen kaum eine Rolle, da Funktionen ohne Sorgen um Typen erstellt werden können. In statisch typisierten Sprachen geht dies aber nicht. Deshalb bieten C++, Java, Rust oder auch Swift Generics. Für Go gilt das bisher nicht, was sich nun aber ändern könnte.
Das Problem aus Sicht des Sprachteams für die Umsetzung von Generics in Go war es eigenen Angaben zufolge, ein Design zu finden, das sich gut in die Sprache einfügt. Nach jahrelanger Iteration der Ideen ist dies nun geschehen und der Vorschlag sei gut und einfach genug, um ihn als Zusatz für die Sprache Go vorzuschlagen.
Bestehende Go-Programme sind von der Änderung nicht betroffen und müssen nicht angepasst werden. Die Beteiligten hoffen, mit dem Rest der Community den Designvorschlag intensiv zu diskutieren und mittelfristig in der Sprache umsetzen zu können. Ziel ist wie bei Go üblich eine Konsensentscheidung über die Aufnahme der Generics. Zwar könne eine derart große Änderung nicht jeden zufriedenstellen, aber das Team strebt eine für alle akzeptable Lösung an. Läuft alles wie geplant, könnten die Generics Ende dieses Jahres mit den Betaversionen von Go 1.18 eingeführt werden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Klar, Performance! Es ist keine schwarze Magie, dass Go signifikant schneller baut als...
Kommentieren