/Programmiersprache: Roadmap für Swift 5 vorgestellt

Programmiersprache: Roadmap für Swift 5 vorgestellt


Als wichtigste Neuerung für das übernächste Sprachrelease wird ABI-Stabilität genannt. Aber auch etliche ursprünglich für Swift 4 angedachte Features sollen Ende 2018 Teil von Swift 5 sein.

Mit Version 4 der von Apple geförderten Programmiersprache Swift ist wohl noch in diesem Jahr zu rechnen. Hier finden derzeit die letzten Arbeiten zur Finalisierung statt, nachdem mittlerweile alle neuen Features feststehen. Zugleich hat nun Ted Kremenek, Senior Manager für Programmiersprachen und Laufzeitumgebungen bei Apple, den Fahrplan für Swift 5 bekannt gegeben. Geht der in der “Swift Evolution”-Mailingliste präsentierte Plan auf, wird das übernächste Sprachrelease Ende 2018 erscheinen. Kremenek ist Nachfolger von Chris Lattner, die maßgeblich für die Entwicklung von Swift zuständige Person, die im Januar Apple verlassen hatte.

Als wichtigste Aufgabe für Swift 5 sieht Kremenek an, ABI-Stabilität (Application Binary Interface) für die Swift-Standard-Bibliothek zu bieten. Die Entwickler werden hier die Bemühungen für Swift 4 aufgreifen. Geplant war das jedoch schon für Swift 3, die hehre Absicht war dann aber auf das folgende Release verschoben worden. Was hier ein Ziel war, wird von Kremenek nun als unerlässliche Anforderung an die Sprache beschrieben.

Ähnlich wie bei APIs, die definieren, wie Softwareprogramme interagieren, bestimmt eine ABI, wie Programme mit kompilierten Binärdateien kommunizieren. ABI-Stabilität bedeutet, dass Programme, die in Swift geschrieben sind, nicht neu kompiliert werden müssen, um Sprachänderungen unterzubringen. Dabei handelt es sich um einen wichtigen Meilenstein für Programmiersprachen auf dem Weg zu einem hohen Reifegrad.

Die Swift-Entwickler arbeiten außerdem an der Stabilisierung des Modul-Dateiformats, das die öffentlichen Schnittstellen eines Frameworks für den Compiler beschreibt. Aber es ist anscheinend nicht damit zu rechnen, dass die Arbeiten dazu mit Swift 5 abgeschlossen sein werden. Hintenan gestellt werden wohl auch die Arbeiten an einem neuen Concurrency-Modell. Angesicht der Menge an Arbeit, die in die ABI-Stabilität fließen wird, kann es laut Kremenek nur darum gehen, die Richtungen der Nebenläufigkeit zu diskutieren und erste Basisaufgaben anzugehen.

Für Swift 4 vorgesehene Features, die es letztlich nicht in das Release geschafft haben, sind nun für die Version 5 geplant. Genannt werden hier mit “conditional conformances” und “recursive protocol requirements” Erweiterungen der Standardbibliothek. Andere Punkte sind eine bessere String-Verarbeitung, bessere Integration mit Apples Cocoa SDK und ein von den Programmiersprachen Rust und Cyclone beeinflusstes Speicher-Ownership-Modell.

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 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 Programmiersprache Swift ist seit Dezember 2015 als Open-Source-Software verfügbar. Im Sommer zuvor hatte Apple angekündigt, die hauseigene Programmiersprache quelloffen bereitstellen zu wollen. 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. Aktuell ist derzeit die Version 3.1.1.

Siehe dazu auf heise Developer:

(ane)