|
Übersicht:
Vorteile
Groovy ist eine äußerst junge Skriptsprache. Sie ist für einen
Java-Programmierer relativ leicht zu erlernen, da sie auf
vorhandenen Werkzeugen wie der Java Virtual Machine und dem JDK
aufbaut. Das Integrieren von Groovy in Java-Programmen (und
umgekehrt) wird dadurch sehr einfach. Groovy ist im Gegensatz zu
Java komplett objektorientiert. Die Sprache enthält praktische
funktionale Elemente, was aus ihr natürlich noch keine
funktionale Sprache macht. Durch Closures, viele
Syntaxerweiterungen und Hilfsfunktionen wird das Programmieren
häufig angenehmer und, im Gegensatz zu Java, weniger
Tastatur-lastig.
Nachteile
Groovy ist bis jetzt nur in einer Beta-Version
verfügbar. Einige Punkte in der Spezifikation wurden noch
nicht abschließend geklärt. Dies erschwert das Testen und
Erlernen der Sprache. Ein Einsatz in einem Produktiv-System
ist daher noch nicht empfehlenswert, kleinere Skripte sind
aber durchaus lauffähig (das sagen die Groovy-Leute
selbst).
Die Version 1.0 soll im Dezember 2006 veröffentlicht
werden. Insbesondere die Fehlermeldungen des Parsers und die
Fehler bei der Erzeugung des Byte-Codes werden bis dann
(hoffentlich) stark verbessert sein.
Es ist allerdings fraglich, ob Groovy überhaupt notwendig
ist. Im Gegensatz zu Java gibt es zwar viele neue Features,
aber verglichen zu Python oder Ruby gibt es keine großartigen
Neuerungen. Die Anbindung an vorhandenen Java-Code unter
Python kann auch mit Jython ermöglicht werden.
Dass Groovy sich an die Syntax von Java anlehnt wird auf der
Web-Seite als Vorteil dargestellt. Tatsächlich wird dadurch
das Erlernen etwas beschleunigt. Mit einer anderen Syntax
hätte man jedoch an einigen Stellen die Ausdruckskraft und
Lesbarkeit noch deutlich erhöhen können. Beispiele dazu sind
die geschweiften Klammern von Closures, die mit den Blöcken
kollidieren, sowie das Currying, das syntaktisch gar nicht
unterstützt wird.
Zusammenfassung
In dieser Seminararbeit konnten nicht alle Eigenschaften von
Groovy erläutert werden, die Semantik von boolean
ist ein Beispiel dafür. Auch auf die vielen
Bibliotheks-Funktionen wurde mit Absicht nicht im Detail
eingegangen. Stattdessen sollte der Leser einen Überblick über
die Sprache bekommen haben, und deren wichtigste Eigenschaften
einordnen können.
Konstruktive Kritik nehme ich gerne
per EMail
entgegen.
|