Die von
Apple lancierte und mittlerweile als Open Source veröffentlichte Programmiersprache Swift ist jetzt in Version 5.5 erhältlich. Die neue Ausgabe bringt einen reichen Strauss von Neuerungen insbesondere für Concurrent Programming – die Entwickler bezeichnen Version 5.5 als "Massive Release". Insgesamt 19 Evolution Proposals sind in die neue Version eingeflossen.
Neu führt Swift 5.5 das Async/Await Pattern ein, das nebenläufige Programmabläufe erlaubt, wie sie in Sprachen wie Kotlin, JavaScript oder C# möglich sind. Mit async wird eine Funktion als Asynchron deklariert, für deren Aufruf ist der Befehl await zuständig. Die Details erledigt der Swift-Compiler unter der Haube. Dazu kommt eine weitere Neuerung namens Structured Concurrency: Mit Konstrukten wie priorisierbaren Tasks und Task Groups können aufeinanderfolgende Prozesse in parallel zu verarbeitende Strukturen überführt werden. Tasks verhalten sich im Structured-Concurrency-Modell von Swift gegnüber den asynchronen Funktionen wie Threads zu synchronen Funktionen in der klassischen Programmierung und können laufen, angehalten oder beendet sein.
Weitere Neuerungen sind das AsyncSequence-Protokoll für Ergebnisse, die zu unbekannter Zeit eintreffen und das Actor-Modell, mit dem sich Probleme der parallelen Programmierung wie Race Conditions vermeiden lassen. Eine komplette Übersicht über die neuen Swift-5.5-Features findet sich auf der
Website des Projekts.
(ubi)