Groovy 1.8: mehr nebenläufige und funktionale Programmierung

Die eng mit Java verbundene Skriptsprache unterstützt nun JSON und den Diamond-Operator aus Java 7. Auch enthält das neue Groovy neue Funktionen zum Erstellen domänenspezifischer Sprachen und weitere AST-Transformationen.

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

Die Groovy-Entwickler haben die Version 1.8 ihrer Skriptsprache veröffentlicht. Die dynamisch typisierte Sprache, deren Entwicklung Angestellte der VMware-Tochter SpringSource leiten, läuft auf der Java Virtual Machine (JVM). Sie ist eng mit Java verbunden – früher gab es sogar mal einen Groovy-JSR innerhalb des Java Community Process (JCP) – und kann dessen Klassen nutzen. Umgekehrt lassen sich auch Groovy-Programme von Java aus verwenden. Groovy 1.8 enthält neue Funktionen zum Erstellen domänenspezifischer Sprachen (DSLs), die für eine bessere Lesbarkeit und Ausdrucksweise sorgen sollen. JavaScript Object Notation (JSON) unterstützt die Skriptsprache nun nativ mit einem JSON-Builder und einem Parser.

Den Bereich nebenläufiger Programmierung für Mehrprozessorkerne, bei dem auch die JVM-Sprachen Scala und Clojure ihrer Stärken gegenüber Java ausspielen, übernimmt bei Groovy das Projekt GPars (Groovy Parallel Systems). Dessen parallele und nebenläufige Bibliotheken bündelt die Sprache nun bei der Installation, sodass sich Konzepte wie Fork/Join, Map/Filter/Reduce, DataFlow, Aktoren und Agenten mit Groovy realisieren lassen.

Im Gegensatz zur Java-Sprache, bei der Entwickler wohl noch bis Java 8 auf Closures warten müssen, sind diese bei Groovy ein zentraler Bestandteil. Mit der neuen Version ist es jetzt auch möglich, Closures als Annotation-Parameter zu verwenden. Laut den Entwicklern werden Closures nun auch zum zentralen Bestandteil dessen, was der Sprache einen Anstrich funktionaler Programmierung geben soll. Überarbeitungen gab es zudem beim "Currying", das mittlerweile auch zu Groovy 1.7.x zurückportiert worden ist. Damit bezeichnet man die Umwandlung einer Funktion mit mehreren Argumenten in eine mit einem Argument.

Die neuen Funktionen der nächsten Java-Version, die für diesen Sommer erwartet wird, soll mit Ausnahme des Diamond-Operators (<>), der die Zahl redundanter Typen-Parameter in Konstruktor-Aufrufen reduziert, erst Groovy 1.9 berücksichtigen. Diamond-Typen sind schon jetzt mit dem neuen Groovy-Release möglich. Groovy wird vor dem Ablauf eines Skripts direkt in Java-Bytecode übersetzt. Neue AST-Transformationen (abstrakten Syntaxbäume; Abstract Syntax Trees; AST) sollen mit Annotationen dabei helfen, redundanten Code zu umgehen und Fehler zu vermeiden. Auf sie, genauso wie auf die oben erwähnten und anderen Neuerungen, gehen die Release Notes ausführlich mit Codebeispielen ein. Groovy steht als Open Source unter der Apache Licence 2.0.

Siehe dazu auch:

  • Groovy im heise Software-Verzeichnis

(ane)