Skip to content

echt groovy...

Und zwar geht es um die relativ neue Sprache Groovy.
Bei uns in der Firma wird jetzt auch Groovy eingesetzt, und so hab ich mich mal näher damit befasst. Und ich kann nur sagen: krass! Groovy verbindet echt die Vorteile von Interpretersprachen mit den Vorteilen von Java. Die Groovy-Scripte muss man nicht in Bytecode compilieren - das geschiet quasi on-the-fly wenn man das Script aufruft. Dadurch entfällt das neustarten des Tomcat wenn man mal eine Änderung macht: einfach das Script durch die neue Version ersetzen, und fertig!

Aber Groovy ist nicht einfach eine neue Sprache, sondern setzt auf Java auf. D.h. man kann komplexeren Code der sich seltener Ändert weiterhin in Java schreiben und in den Groovy-scripten benutzen. Dadurch kann man auch alle liebgewonnenen Frameworks und Libraries weiter verwenden (z.B. Spring, Hibernate, jakarta.commons).
Überhaupt lässt einem Groovy viele Freiheiten. So kann man sich beispielsweise aussuchen, ob man einen Befehl mit einem Semikolon abschließt, oder ob man nur einen Zeilenumbruch macht, und das Semikolon ganz einfach weg lässt. Und wo wir grade bei weglassen sind - das gilt auch für Variablentypen. Man kann sich aussuchen, ob man für eine Variable einen bestimmten Typ festlegen will, oder ob man das lieber dynamisch haben will.

Groovy unterstützt außerdem sogenannte Closures. Wenn ich also ein XML hab, kann ich einfach sowas sagen wie
def document = new XmlSlurper().parse("urlZumFile.xml");
document.einNode.childNode.each() { currentNode ->
  // ... mache irgendwas
}

..cool, nicht war?

Das geht auch mit SQL, Files und soweiter. Das "def" gibt dabei übrigens an, das man die variable nicht typisieren möchte. Was an dem Beispiel noch auffällt: man kann direkt auf alle child-nodes zugreifen, ohne erst umständlich ein getElement() oder sowas machen zu müssen.

Das Editor-Plugin für Eclipse ist sicher noch verbesserungswürdig, aber durchaus zu gebrauchen. Wenn man eine Klasse verwendet die man nicht includiert hat, dann meckert er zumindest schon mal - das schafft PHP-Eclipse bis heute nicht, und das gibts schon länger :-D

Man kann damit also schnell mal ein Script, auch für kompliziertere Dinge schreiben. Meiner Meinung nach lohnt es sich wirklich mal einen Blick auf Groovy zu werfen: http://groovy.codehaus.org/