Scala 2.10: Value-Klassen, Futures und Akka-Aktoren

Die sowohl auf JVM als auch unter .NET laufende General Purpose Language ist in Version 2.10 erschienen und führt etliche, aus anderen Programmiersprachen vertraute Konzepte ein.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die sowohl auf der Java Virtual Machine (JVM) als auch auf der Common Language Runtime (CLR) von .NET laufende Programmiersprache Scala liegt nun in Version 2.10 zum Download vor. Das letzte gößere Release – Scala 2.9 – der als General Purpose Language bezeichneten Sprache liegt bereits anderthalb Jahre zurück.

Als wichtige Neuerung bezeichnen ihre Entwickler verbesserte Value-Klassen, wodurch Scala anscheinend aus C# vertraute Fähigkeiten erhält. Scala-Programmierer können dadurch Klassen definieren, ohne den Overhead von Objekten allokieren zu müssen. Auch erhalten sie "leichtgewichtige" Wrapper und Proxies, wodurch das Erstellen von Objekten entfällt. Das hat dann anscheinend positive Auswirkungen auf die Performance einer Scala-Entwicklung.

Als weiteres neues Features sind außerdem Futures beziehungsweise Promises für Funktionsaufrufe mit einem Ergebnis in der Zukunft zu nennen. Futures stellen ein Vorgehen dar, um mit asynchroner Programmierung typische Szenarien im Internet zu bewältigen. Ebenfalls von Bedeutung ist eine Scala-spezifische Reflection-Bibliothek, die die Abfrage der Metadaten eines Programms zur Laufzeit ermöglicht. Dieses noch experimentelle Feature soll in Verbindung mit neuen dynamisch typisierten Funktionen das Zusammenspiel mit Skriptsprachen wie JRuby bei Programmen vereinfachen, die sowohl Scala- als auch Code der dynamisch typisierten Sprache enthalten.

Erstmals ist nun die Aktoren-Implementierung der Akka-Bibliothek Bestandteil von Scala. Diese greift das seit den 70er-Jahren bekannte Aktoren-Modell auf und erlaubt die Entwicklung fehlertoleranter und hochskalierbarer Scala- sowie Java-Applikationen zum Ausführen nebenläufiger oder paralleler Prozesse. Mit Scala 2.10 haben die Entwickler schließlich eine aktualisierte Version der Scala IDE für Eclipse bereitgestellt, die sämtliche Neuerungen der Sprache bereits unterstützen soll. Diese unterstützt vorrangig Eclipse 3.7 (Indigo), der Support für Eclipse 3.8/4.2 (Juno) hat bislang offenbar experimentellen Charakter.

Weitere Neuerungen reißt in kurzer Form die Ankündigung an. Ansonsten sollen in den nächsten Tagen Dokumentationen und Migrationsinformationen zum Upgrade auf die neue Version nachgereicht werden. (ane)