Scala 2.10.0 M3 mit Ctries und experimentellen Makros
Scala 2.10.0 M3 mit Ctries und experimentellen Makros
Beispielsweise lassen sich mit der Hilfe nebenläufiger, Thread-sicherer Collections nun Combiner implementieren. Zur Standard-Library sind Ctries hinzugekommen, die sich über die Combiner-Mechanismus auch parallel betreiben lassen. Ein schnellerer Optimizer und Verbesserungen des RedBlack Trees gehören zu den weiteren Highlights.
Viele sogenannte SIPs, Verbesserungsvorschläge im Scala Improvement Process, wurden umgesetzt, im Einzelnen:
- SIP-18 - "Modularizing language features"
- SIP-17 - "Type Dynamic"
- SIP-15 - "Value classes"
- SIP-14 - "Futures and Promises"
- SIP-13 - "Implicit Classes"
- SIP-11 - "String interpolation"
In Scala 2.10 wird es eine Reflection Library geben, die die Nutzung des Java Reflection API überflüssig macht. Außerdem stehen Makros auf dem Programm, die in einer experimentellen Version bereits umgesetzt sind. Makros sind Funktionen, die transparent vom Compiler geladen und während der Kompilierung ausgeführt werden. Mit Makros soll eine Art Metaprogrammierung zur Compile-Zeit für Scala realisiert werden.
Um die Makros hatte es zuletzt eine lebhafte Diskussion gegeben, mit der Frage, ob sich die Entwicklerkräfte wirklich weiter auf Sprachdetails richten sollten ("Fancy language stuff"), oder vielmehr auf die Stabilität und den Ausbau der Scala-Plattform hin zur Enterprise-Tauglichkeit (Beschleunigung des Compilers, besserer IDE Support, Kompatibilitätssicherheit zwischen Releases, bessere Dokumentation und aussagekräftige Fehlermeldungen).
Scala-Erfinder Martin Odersky hatte geantwortet, dass Makros ein brilliant einfaches Schema darstellten, mit dem zahlreiche unterschiedliche Use-Cases abgedeckt werden könnten:
In particular we'll be able to do the analogue of Microsoft's LINQ with macros. And we can express optimizations such as turning foreach applications into while loops. And we can remove a lot of compiler plugins. And finally it looks like we can remove down the road several special cases in the language and the compiler. Martin Odersky
Am besten, man schaut sich das Ganze selber mal an (und berichtet hier in den Kommentaren von den Pros und Contras):
http://scalamacros.org/documentation/gettingstarted.html.
Weitere Details zum Scala 2.10.0 M3 Release - beispielsweise die lange Liste der Bugfixes - hält die Projektseite bereit.
Das könnte Sie auch interessieren
Als Gast kommentieren:
Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).
-
Java Magazin - Die aktuelle Ausgabe
Inhalt, Editorial, Quellcodes und Link-Tipps zum aktuellen Java Magazin -
Archiv
-
Digital lesen
-
Java Magazin Abo
-
Eclipse Magazin - Die aktuelle Ausgabe
Inhalt, Editorial, Quellcodes und Link-Tipps zum aktuellen Eclipse Magazin -
Archiv
-
Digital lesen
-
Eclipse Magazin Abo
-
Business Technology - Die aktuelle Ausgabe
Inhalt, Autorenverzeichnis und Editorial zum aktuellen Business Technology -
Archiv
-
Digital lesen
-
Business Technology Abo

Warenkorb
Login
Registrieren
Kommentare
Ihr Kommentar zum Thema