Programmiersprache: Scala 2 Community Build erreicht finalen Stand
Nach dem Fokuswechsel auf Scala 3 markiert der Community Build auf Basis von Scala 2.13 das Ende der Weiterentwicklung der 2.x-Serie.
"Der Scala 2 Community Build ist nun im Wesentlichen abgeschlossen", verkündet das verantwortliche Entwickler-Team bei Lightbend rund um Seth Tisue. Nachdem das gesamte Scala-Ökosystem die Migration auf Version 2.13 nahezu vollständig vollzogen habe, setzt auch der Community Build auf Scala 2.13 auf und umfasst nun 209 Repos sowie insgesamt rund 3,4 Million Zeilen Code.
Die Kompatibilität mit JDK 8 und 11 ist komplett sichergestellt, die Anpassung an JDK 14 soll ebenfalls bald angeschlossen sein. Der Scala 2 Community Build sei damit nun groß und vielfältig genug, um künftige 2.13.x-Versionen zu unterstützen. Das Team will ihn über den geplanten Lebenszyklus von Scala 2 weiter pflegen.
Fokus auf Scala 3
Eine Version Scala 2.14 wird es voraussichtlich nicht mehr geben. Darauf haben sich die Entwickler-Teams bereits Ende vergangenen Jahres verständigt. Der Fokus soll gezielt auf die Fertigstellung von Scala 3 (Dotty) gerichtet werden, um schnellstmöglich eine produktionsreife Version vorlegen zu können. Die aktuelle Planung sieht vor, bis zum Jahresende 2020 den ersten Releases Candidate von Scala 3 fertigzustellen. Zugunsten einer möglichst reibungslosen Migration teilen sich Scala 2.13 und 3 bereits die Standard Library sowie das ABI (Application Binary Interface).
Scala 3 ist heute bereits weitgehend abwärtskompatibel zu den mit Scala 2.13 gebauten Librarys. Ausnahmen gelten jedoch für Librarys, die Makros definieren, da der Compiler von Scala 3 diese nicht während des Kompilierens ausführen kann. Zur Migration auf das neue Makro-System von Scala 3 müssen Makro-Definitionen aus der 2.x-Reihe neu geschrieben werden. Die Entwicklung von Scala 3 schreitet unterdessen zügig voran. Der eigene Community Build von Dotty umfasst inzwischen 25 Repos – fünfmal so viele wie noch vor einem Jahr.
Scala Community Builds
Als eine Sammlung von Open-Source-Scala-Code und den am meisten verwendeten Scala-Librarys sollen die Scala Community Builds vor allem die gemeinsame Entwicklung der Programmiersprache und des Ökosystems der Librarys gewährleisten. Dazu legt das Entwickler-Team täglich neue Community Builds auf Basis der Scala Nightly Builds an, die dann umfassende Test durchlaufen. Dabei sollen insbesondere die Auswirkungen neuer Pull Requests geprüft werden, um etwaige Regressionen und Inkompatibilitäten aufzuspüren, bevor die PRs in einen Merge einfließen.
Weitere Informationen zum Scala 2 Community Build und zur Zukunft von Scala 2.x sowie Scala 3 finden sich in der AnkĂĽndigung des Teams.
Siehe dazu auf heise Developer:
- Scala – pragmatische Kombination aus funktionaler und objektorientierter Programmierung
- Martin Odersky: "Scala ist durchaus noch ein Vorreiter"
- Programmiersprache: So sehen die Pläne für Scala 3 aus
(map)