Scala 2.9 führt Parallel Collections ein

Neu in der aktuellen Version der Programmiersprache sind Parallel Collections, über die gewöhnliche Collections automatisch ihre Arbeit auf unterschiedlichen Prozessoren verrichten können. Ebenfalls neu ist die Version 1.1 der Actor-Bibliothek Akka.

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

Rund ein Dreivierteljahr nach Erscheinen der vorigen größeren Version ist mit Scala 2.9 ein größeres Release der Programmiersprache erschienen. Daran gekoppelt wurde die Version 1.1 der Actor-Bibliothek Akka veröffentlicht, mit der sich in Java und Scala fehlertolerante und hochskalierende Applikationen zum Ausführen nebenläufiger oder paralleler Prozesse schreiben lassen. Sowohl Scala 2.9 als auch Akka 1.1 gibt es vorkonfiguriert in dem neuen Typesafe Stack, einem Open-Source-Paket, das die Erfinder der Sprache und der Bibliothek am Donnerstag vorgestellt hatten.

Scala (abgeleitet von "scalable language") ist eine vor allem an der Ecole Polytechnique Fédérale de Lausanne und der Stanford University entwickelte Programmiersprache, die im US-amerikanischen Raum und zunehmend auch in Europa verbreitet wird. Sie lässt sich mit Java und der .NET-Plattform integrieren und eignet sich als "General Purpose Language" für alle Aufgaben, für die man sonst Java oder C# verwendet.

Als zentrale Neuerung der Programmiersprache gelten sogenannte Parallel Collections, mit denen sich gewöhnliche Collections wie Arrays, Vektoren und Maps durch die par-Methode in parallele umwandeln lassen, die automatisch ihre Arbeit auf unterschiedlichen Prozessoren verrichten. Scala eignet sich durch ihre Mischung aus objektorientierten und funktionalen Programmierstilen sowie ihre Konstrukte zur Parallelisierung von Haus aus für das Programmieren für Multi-Core-Architekturen.

Neben zahlreichen Bugfixes und Performanceverbesserungen wurden bei Scala 2.9 zudem bestehende Funktionen überarbeitet. Beispielsweise ersetzt die als thread-sicherer bezeichnete App Trait (Eigenschaft) die Application Trait, und mit DelayedInit ist es möglich, die Initialisierung eines Objekts unabhängig von ihrer Erzeugung durchzuführen. Überarbeitet und mit neuen Befehlen versehen haben die Entwickler zudem die interaktive REPL-Konsole (Read-Evaluate-Print-Loop). Auch wurde scala.sys erweitert, sodass man damit Anweisungen auf der Shell des Betriebssystems ausführen kann.

Akka ist in Scala geschrieben und greift auf das Actor-Modell zurück, das beispielsweise in Erlang und damit der Telekommunikationsindustrie erfolgreich umgesetzt wurde. Die Bibliothek bietet sowohl typisierte als auch untypisierte Aktoren und kombiniert das Speicherkonzept Software Transactional Memory (STM) mit Aktoren, um transaktionale Aktoren zu unterstützen. Viel Arbeit bei der Entwicklung der neuen Akka-Version ist in sogenannte Futures geflossen. Darüber hinaus unterstützt Akka 1.1 das neue Scala-Release. (ane)