Programmiersprache Scala 2.13 bietet einen besseren Umgang mit Collections

Weitere Neuerungen der Programmiersprache betreffen das Handling mit Futures, eine bessere Performance sowie eine neue Open-Source-Lizenz.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Scala 2.13 bietet einen besseren Umgang mit Collections
Lesezeit: 3 Min.
Von
  • Alexander Neumann
Inhaltsverzeichnis

Wieder hat es rund zweieinhalb Jahre gedauert, bis nun mit 2.13.0 ein neues großes Release der Programmiersprache Scala erschienen ist. Das neue sogenannte Library-Release konzentriert sich auf die Bibliotheken und bringt nur kleinere Neuerungen an der Syntax mit. Der Schwerpunkt der aktuellen Sprachversion liegt auf dem vereinfachten Umgang mit Collections.

Die Collections-API hielt in Scala 2.8 Einzug in die Programmiersprache und bietet einen weitgehend einheitlichen Umgang mit unterschiedlichen Collection-Typen wie Map, List und Seq. Mit Version 2.13 kommen einige Änderungen hinzu, die mehr Klarheit schaffen und den Einsatz vereinfachen sollen. Dabei ist das erklärte Ziel, die Collections so weit wie möglich kompatibel zu Scala 2.12 zu halten und nur unvermeidbare Breaking Changes zu akzeptieren.

Eine Neuerung ist hier, dass Traversable entfällt, das bisher über Iterable in der Hierarchie stand, aber dieses als einzigen Untertypen hatte. Traversable ist in Version 2.13 lediglich ein Alias für Iterable[A].

Eine weitere Änderung betrifft in der Standardbibliothek den Umgang mit Futures. Die Neugestaltung geschah mit den Zielen, das erwartete Verhalten unter einer breiteren Palette von Fehlerbedingungen bereitzustellen sowie eine bessere Performance und robustere Anwendungen zu ermöglichen.

Darüber hinaus erlaubt Scala neuerdings, wie zahlreiche andere Programmiersprachen den Unterstrich als Trennzeichen für numerische Literale zu verwenden. Außerdem bleiben leere Klammern als Unit Value erhalten, sodass x op() nicht wie bisher zu x.op(), sondern zu x.op(()) wird. Dank Optimierungen für die nebenläufige Programmierung ist wohl Future deutlich performanter als bisher.

Im Bereich des Compilers ist von 5 bis 10 Prozent schnellerer Ausführung, einer deterministischen Ausgabe und einem überarbeiteten Optimierer die Rede.

Den besten Überblick über die Vielzahl der weiteren kleineren Änderungen bieten die Release Notes, die darüber hinaus über Verlinkungen einen guten Aufschlag für mehr Informationen in die aktuelle Scala-Entwicklung ermöglichen.

Hinter der Entwicklung von Scala steckt maßgeblich das Unternehmen Lightbend, dem unter anderen Scala-Schöpfer Martin Odersky vorsteht. Ansonsten ist Scala neben Kotlin die wohl verbreitetste unter den vielen JVM-Sprachen (Java Virtual Machine), die innerhalb der vergangenen mehr als 15 Jahren auf der Bildfläche erschienen sind. Mittlerweile gibt es aber auch einen Entwicklungsstrang (Scala.js) mit JavaScript als Laufzeitumgebung zum Ausführen von Scala-Anwendungen.

Scala vereint so kompromisslos wie kaum eine andere Sprache funktionale mit objektorientierte Programmierkonzepte. Die Programmiersprache hat nun zudem eine andere Lizenz und ist jetzt unter der Apache-2-Lizenz verfügbar. Als Nächstes ist ein weiteres kleineres Release geplant, das vor allem den Weg zum Umstieg auf das für 2020 geplante Scala 3 ebnen soll.

Siehe dazu auf heise Developer:

(ane)