Programmiersprache: Fahrplan für Apples Swift 4.0 weist auf ABI-Stabilität und andere Speicherverwaltung hin

Voraussichtlich Ende 2017 ist mit einer neuen Version von Apples quelloffener Programmiersprache zu rechnen. Die Änderungen dafür sollen in einem zweistufigen Aufbau erfolgen.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 49 Beiträge
Von

Das Release von Swift 3 ist noch nicht lange her, da kristallisiert sich sich heraus, was Apple für Version 4 der Programmiersprache vorschwebt. Das nächste Release der als Objective-C-Nachfolger gedachten und mittlerweile quelloffenen Sprache soll den Fokus darauf legen, sie weiter auf Sourcecode- und ABI-Level-Ebene (Application Binary Interface) zu stabilisieren. Neue Features sind beispielsweise Verbesserungen bei Generics in der Standardbibliothek und von den Programmiersprachen Rust und Cyclone beeinflusstes Speicher-Ownership-Modell. Versucht wird wohl auch, den Umgang mit Strings benutzerfreundlicher zu gestalten, während die Korrektheit mit Unicode beibehalten werden soll.

Die Entwicklung von Swift 4 soll in zwei Stufen geschehen. Die erste umfasst alle Funktionen, die erforderlich sind, um im Sinne der Fehlertoleranz die ABI zu stabilisieren und gleichzeitig die Kompatibilität mit dem aktuellen Swift 3 oder gar früheren Versionen der Sprache sicherzustellen. In der derzeit noch etwas vage gehaltenen zweiten Stufe sollen neue größere und kleinere Sprach-Features angegangen werden, insofern sie nicht mit der ABI bestehender Funktionen oder der ABI der Standardbibliothek brechen. Um die ABI stabilisieren zu können, sind den Swift-Entwicklern zufolge Änderungen an der Code-Generierung durchzuführen. Es geht hier um Punkte wie der Interaktion mit der Laufzeitumgebung der Sprache.

Rust wird von vielen Sprachentwicklern wegen seines Ownership-Konzepts gelobt: In der Sprache sind die Eigentumsbeziehung und der Lebenszyklus eines Objekts eine explizit zu bestimmende Programmeigenschaft. Das bedeutet, dass das Typsystem der Sprache Fehler wie Speicherlöcher oder Race Conditions über Zusatzinformationen im Programm schon beim Kompilieren findet. Der derzeit nicht mehr weiterentwickelte C-Dialekt Cyclone Cyclone verwendet ein Speicherverwaltungsmodell, bei dem jede allozierte Entität einer Region zugewiesen wird. Das soll die Allokations- beziehungsweise Deallokations-Performance beschleunigen und das Auffinden nichtallozierter Entitäten vereinfachen. Von der Adaption dieser Konzepte für Swift könnten Systemprogrammierer profitieren, für die ein vorhersagbares Verhalten wichtig ist.

Die grundlegenden Arbeiten der ersten Stufe sind wohl nächstes Frühjahr abgeschlossen, dann könnte mit der Implementierung neuer Features begonnen werden. Mit eine fertigen Version von Swift 4.0 ist offenbar in etwa einem Jahr zu rechnen.

Die Programmiersprache Swift ist seit Anfang Dezember als Open-Source-Software verfügbar. Im Sommer zuvor hatte Apple angekündigt, die hauseigene Programmiersprache quelloffen bereitstellen zu wollen. Bis zur Offenlegung stand die Sprache nur Entwicklern auf OS X zur Verfügung. Danach kam auch Linux als offiziell unterstütztes System hinzu. Die Arbeiten an einem Windows-Port sind derzeit noch in Arbeit.

Apple hatte Swift als Alternative zu Objective-C 2014 auf seiner Entwicklerkonferenz WWDC eingeführt. Obwohl sie kein offizieller Nachfolger ist, haben viele iOS- und OS-X-Entwickler die neue Sprache gerne angenommen. Das gilt auch für den Konzern IBM, der ein Cloud-Entwicklungsangebot auf Basis von Swift im Angebot führt. Die Version 2.2 war das erste Release nach der Öffnung der Quellen und Bekanntgabe des Linux-Supports ist, das im September 2016 erschienene Swift 3.0 war die erste quelloffene Hauptversion der Programmiersprache. (ane)