Weniger ist mehr

Volle Fahrt auf Scala 3: Warum Scala 2.14 nicht erscheinen wird

Dominik Mohilo

© Shutterstock / Nosha

Große Ereignisse werfen ihren Schatten voraus. Natürlich nur sprichwörtlich, ist die Veröffentlichung von Scala 3 doch eigentlich ein eher freudiges und kein schattiges Ereignis: Ende 2020 soll es soweit sein. Da dies sehr viel Einsatz erfordert, wird ein neues Zwischenrelease eher nicht stattfinden.

Kurz vor Weihnachten gab es ein kleines Geschenk für die Scala Community: Die Ankündigung, dass Scala 3 wohl schneller als erwartet bereit für die Produktion sein wird. Dies ergibt sich aus der Konsensentscheidung, Scala 2.14 ausfallen zu lassen, die unter anderem vom Scala-3-Team unter der Leitung von Scala-Erfinder Martin Odersky und der Community getroffen wurde. Was für alle, die sehnsüchtig auf ein Update der Sprache und der Standardbibliothek warten, erst einmal wie eine schlechte Nachricht klingt, ist de facto positiv zu bewerten.

Durch den Ausfall des nächsten Zwischenreleases ergeben sich für die Entwickler, die an Scala arbeiten, ein Zugewinn an Kapazität, um sich am nächsten Major zu beteiligen. Dies ergibt sich daraus, dass weder Tooling-Ökosystem noch die Library von Scala für 2.14 neu erstellt werden müssen. Für alle, die Scala in der Produktion einsetzen, gibt es ebenfalls Vorteile. Dazu gehört etwa, dass die laufenden Anwendungen vor dem Update auf das nächste Major eben nicht noch einmal auf eine neue Zwischenversion aktualisiert werden müssen.

Die Umstellung von Scala 2.13 auf Scala 3 soll dann Ende des Jahres so reibungslos wie möglich ablaufen. Gewährleistet werden soll dies, so der Plan, durch die Verwendung der gleichen Standardbibliothek. Ein kleiner Haken dabei ist, dass Änderungen, die binärinkompatibel sind, erst später im 3.x-Release-Zyklus stattfinden werden. Im Klartext: keine Methoden oder Klassen werden hinzugefügt oder entfernt werden. Das bedeutet aber nicht, dass die Standardbibliothek und die darin enthaltenen Elemente wie Klassen oder Methoden nicht verbessert und überarbeitet werden können – dies wird definitiv passieren.

TASTy – Typed Abstract Syntax Trees (y)

Code, der mit Hilfe der Standardbibliothek von Scala 3 kompiliert wird, wird aller Voraussicht nach auch mit sämtlichen folgenden Versionen des 3.x-Release-Zyklus funktionieren. Verantwortlich dafür ist „TASTy“. Diese Technologie des Compilers von Scala 3 serialisiert jegliche Anwendungen, die mit ihm kompiliert werden, als kompakte Repräsentation (TASTy genannt). Der gesamte Code wird so in Syntax-Bäumen aufgeschlüsselt, diese sind zudem vollständig typisiert.

Ausblick

Große Änderungen in Bezug auf die Semantik und strukturelle Überarbeitungen der Standardbibliothek werden bis Scala 4 warten müssen, wie es aussieht. Dennoch ist das keine allzu schlimme Nachricht, denn das Team von Scala hat sich vorgenommen, neue Major-Versionen zukünftig schneller und regelmäßiger zu veröffentlichen.

Sämtliche Informationen zu den aktuellen Ereignissen rund um Scala 2.13 und Scala 3 gibt es auf dem Blog der Programmiersprache, geschrieben von Lukas Rytz, Adriaan Moors und Martin Odersky.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: