Warum eigentlich … Swift? [MTC 2014]
Kommentare

Auf dem WWDC 2014 hat Apple einen großen Wurf gelandet: Mit Swift wurde eine neue Sprache vorgestellt, die das in die Jahre gekommene Objective-C ablösen soll. Die Sprache bietet viele Neuerungen, soll

Auf dem WWDC 2014 hat Apple einen großen Wurf gelandet: Mit Swift wurde eine neue Sprache vorgestellt, die das in die Jahre gekommene Objective-C ablösen soll. Die Sprache bietet viele Neuerungen, soll aber auch für Objective-C-Umsteiger leicht zu erlernen sein. Auf der MobileTech Conference 2014 in Berlin widmet sich Tammo Freese ebenfalls Apple Swift – Grund genug für uns, einen genaueren Blick darauf zu werfen.

Warum Swift?

Swift implementiert Standards, die bereits seit einiger Zeit in anderen Programmiersprachen vertreten sind. Dazu zählen Generics, Tuples, Nested Functions oder funktionale Programmiermuster. Beinahe also fühlt es sich an, als würde Apple mit Swift den Anschluss an aktuelle Sprachen suchen.

Apple schickt sich nun an, Objective-C durch das neue und frische Swift zu ersetzen. Und wie man das Unternehmen aus Cupertino kennt, wird das nicht all zu lange auf sich warten lassen – man hat Vertrauen in die eigene Arbeit und ist unermüdlich damit beschäftigt, Innovationen voranzutreiben.

Gerechnet hat damit gar keiner – aber dann kommt Apple und macht das einfach. Tammo Freese

Natürlich ist es alles eine Frage der Kontrolle, denn je mehr für das Geschäft wichtige Bereiche man kontrolliert, desto eher kann man die eigenen Services miteinander verbinden.

Die Zukunft ist tragbar

Laut Tammo Freese stellt vor allem ein aktuell immer stärker aufkommender Trend ein großes Problem für Objective-C dar: Im Bereich der Wearables leidet die Sprache an seinem Aufbau, die Performance geht in den Keller. Da Swift direkt in Maschinensprache übersetzt wird – es kann mit C/C++ mithalten –, ist Swift Objective-C performancetechnisch haushoch überlegen.

Freese rechnet vor: Benötigt Objective-C im Memory-Management beispielsweise über 100 Allocations, ist er bei Swift nur eine einzige Allocation; der Vorteil liegt also auf der Hand.

Apple versucht hier, soweit möglich komplett auf eine Sprache zu setzen – geräteübergreifend! In den Release Notes steht beispielsweise, dass Swift ein „complete replacement for C/C++“ wäre … Tammo Freese

Doch welche weiteren Vorteile bietet Swift Entwicklern? Sehen wir uns also die schönen Aspekte von Swift an – werfen wir aber auch einen Blick darauf, was wir möglicherweise gegenüber Objective-C zu verlieren haben.

Swift, the Good Parts

Playground, Type Inference, Non-Optionals/Optionals, … und vieles mehr. Die Frage nach dem, was in Swift besser ist als in Objective-C, lässt sich nach Freese leicht beantworten: sehr viel.

Non-Optionals und Optionals beispielsweise erlauben es Entwicklern, den erwarteten Rückgabewert mit einem Fragezeichen zu versehen. So kann man Swift heute anweisen, dass man entweder einen primitiven Wert wie beispielsweise einen Integer zurückgibt – oder eben ein NIL.

Hinzu kommen bessere if-else-Anweisungen und überarbeitete Switch-Statements, bei dem beispielsweise das break wegfällt. Möchte man einen fallthrough, dann kann man das mit eben jenem Schlüsselwort explizit angeben.

Neu sind auch Tupel, die an Arrays aus anderen Sprachen erinnern:

let einTupel = (23, 43, "test")
einTupel.0 // 23

Das sind natürlich nicht alle Besonderheiten der Sprache; spannend sind auch die im Live-Coding gezeigten Beispiele, die neue Swift-Konstrukte mit der Schreibweise unter Objective-C vergleichen und im nachhinein betrachtet vor allem dafür sorgen, dass man sich fragt, wie man so lange mit Objective-C leben und arbeiten konnte.

In der kommenden Ausgabe des Mobile Technology Magazins wird Tammo Freese übrigens detailliert auf die guten Eigenschaften von Swift eingehen.

Früher war alles besser

Während man schnell Gefahr läuft, ob all der neuen Features in Swift blind ins Schwärmen zu geraten, gibt es dennoch einige Punkte, die man nicht unterschlagen sollte.

So befindet sich Swift aktuell noch in der Beta-Phase, keiner kann genau sagen, was sich in naher Zukunft noch ändern könnte. Außerdem ist Swift jetzt schon komplexer als Objective-C, was bereits jetzt für eine enorm steil ansteigende Lernkurve sorgt. Umsteiger könnten außerdem schnell über einige der neuen Features stolpern und so Fehler fabrizieren, die sich nur schwer finden lassen.

Rosige Zukunft

Um eine alte und überstrapazierte Metapher zu bemühen: Es ist also nicht alles Gold, was glänzt. Dennoch hatte es Swift im Handumdrehen geschafft, sich in Programmiersprachen-Indexen wie Tiobe oder PYPL bereits kurz nach der Veröffentlichung weit oben in den Ranglisten zu platzieren.

Auch wenn man relativ schnell nach dem ersten Hype auf den Boden der Tatsachen zurückgeholt wurde, dürfte sich die Sprache bald einer großen Beliebtheit erfreuen. Das könnte vor allem daran liegen, dass Swift viele aus anderen Sprachen bekannte Dinge in sich vereint und so eine breite Masse von Entwicklern mit für sie bekannten Konstrukten anspricht.

Auch wenn die nächste Zeit beide Sprachen – Swift und Objective-C – parallel eingesetzt werden, wird Swift die mittlerweile seit über 25 Jahren immer wieder erweiterte und angepasste Sprache Objective-C ablösen. Angst vor dieser Zeitenwende braucht man trotz der steilen Lernkurve nicht zu haben. Im Gegenteil: Viele positive Aspekte und neue Features sorgen dafür, dass schon bald nur noch Lagerfeuergeschichten über das gute, alte Objective-C kursieren werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -