3 Punkte von xguru 2024-08-12 | 1 Kommentare | Auf WhatsApp teilen
  • Swift wurde als am besten geeignete Nachfolgesprache für C++ im Ladybird Browser ausgewählt
  • In den vergangenen Monaten wurden mehrere Personen gebeten, Teile des Projekts testweise in einer anderen Sprache neu zu schreiben
  • Das Feedback war sehr eindeutig: Alle bevorzugten Swift

Warum Swift bevorzugt wird

  • Swift bietet sowohl Speicher- als auch Data-Race-Sicherheit (ab v6)
  • Es ist eine moderne Sprache mit solider Ergonomie
  • Web-Spezifikationen und Browser-Interna sind stark objektorientiert, und die Arbeit wird einfacher, wenn sich die Spezifikationen im Code präzise modellieren lassen
  • Swift unterstützt objektorientierte Programmierung als First-class-Konzept und ist darin in vielerlei Hinsicht deutlich besser als C++
  • Das Swift-Team investiert außerdem stark in die Interoperabilität mit C++, wodurch es einen praktikablen Weg für eine schrittweise Einführung statt eines riesigen Rewrite gibt

Starke Bindung an Apple

  • Swift war historisch eng mit Apple und den Apple-Plattformen verbunden
  • Im vergangenen Jahr gab es jedoch Bestrebungen, dass „swiftlang“ unabhängiger wird (zum Beispiel durch eine eigene GitHub-Organisation statt weiterhin unter „apple“)
  • Auch die Unterstützung für Nicht-Apple-Plattformen und für andere LSP-basierte Entwicklungsumgebungen wird verbessert

Die nächsten Pläne

  • Die aktuellen Swift-Releases werden derzeit mit einer zu alten Clang-Version ausgeliefert, um die bestehende C++-Codebasis zu verstehen, daher kann Swift noch nicht sofort eingesetzt werden
  • Wenn Swift 6 im Herbst die Beta-Phase verlässt, wird man aber mit der Einführung beginnen
  • Es gibt keine perfekte Sprache, und vieles ist noch unbekannt
  • Da man niemanden kennt, der zuvor an einer Browser-Engine in Swift gearbeitet hat, wird man dem Swift-Team Feedback geben
  • Die Vorfreude ist groß: Ladybird muss in Richtung Speichersicherheit gebracht werden, und der erste Schritt ist die Wahl einer Nachfolgesprache, deren Einführung bald beginnen kann