Aus der Einleitung zu Groovy für Java-Entwickler:
Groovy ist eine neue Open Source-Programmiersprache, die mit dem Ziel erschaffen wurde, produktivitätssteigernde Features moderner Interpreter-Sprachen wie Python, Ruby und Smalltalk nahtlos in die Java-Welt zu integrieren.
Groovy wird häufig als »Skriptsprache« bezeichnet. Das wird ihr nicht ganz gerecht. Denn Groovy kann zwar als Skriptsprache verwendet werden, steht auch in der Tradition von Skriptsprachen und hat typische Eigenschaften von Skriptsprachen –- geht aber in vielen Aspekten über Skriptsprachen hinaus. Vielleicht sollte man deshalb besser von einer »dynamischen Sprache« sprechen. Die Sprache selbst lehnt sich stark an Java an, enthält aber eine Reihe wesentlicher Erweiterungen und Besonderheiten, die sie um einiges mächtiger und sehr viel flexibler machen.
Diese neue Sprache würde es vielleicht nicht geben, hätten nicht in letzter Zeit eine neue Skriptsprache namens Ruby und das darauf basierende Web-Entwicklungsframework Ruby on Rails enormes Aufsehen wegen der Geschwindigkeit erregt, die sie bei der Anwendungsentwicklung erlauben. Groovy ist aber keine Portierung von Ruby auf die Java-Plattform,1) sondern ein völlig eigenständiges Konzept. Allerdings übernimmt Groovy einige wichtige Ideen von Ruby (und anderen Sprachen), darunter deren dynamischen Charakter und die Anlehnung an funktionale Programmierung. Entscheidend ist, dass Groovy im Unterschied zu einer bloßen Portierung einer fremden Sprache fest in der Java- Welt verwurzelt ist. Die Sprache ist konsequent als Weiterentwicklung von Java konzipiert, und die Integration mit konventionell programmierten Java-Programmen ist – in beiden Richtungen – völlig problemlos. Wenn Sie sich also mit Java auskennen und sich mit Groovy beschäftigen möchten, brauchen Sie nicht etwas völlig Neues zu lernen. Sie fangen mit dem an, was Sie kennen: Das schlichte »Hello World« funktioniert ohne jede Änderung auch in Groovy. Binnen kürzester Zeit werden Sie aber feststellen, dass es anders geht, dass sich so manche Konstruktion, die in Java umständlich und undurchsichtig ist, mit Groovy auf wenige Zeilen verkürzen lässt, die das Wesentliche Ihres Programms ausdrücken. Und noch etwas später werden Sie erkennen, dass Ihnen Groovy Möglichkeiten eröffnet, die weit über das hinausgehen, was das klassische Java Ihnen bieten kann. Zu Groovys eigenständigen Konzepten gehören beispielsweise Builder der Features zum Entwerfen von Domain Specific Languages (DSL).
Sie müssen sich also nur ein wenig darauf einlassen.
Erwarten Sie aber nicht, dass Sie Ihr nächstes größeres Projekt komplett in Groovy implementieren werden. Die Sprache ist jung, vieles ist noch in Bewegung, und es gibt so manchen Bug und manche Ungereimtheit, die zu beseitigen noch einige Versionsnummern dauern wird. Darüber hinaus wirft auch der dynamische Charakter der Sprache Fragen nach der Stabilität und der Performance auf, die vor einem Einsatz in Projekten beantwortet werden müssen. Schon jetzt gibt es aber eine Reihe von Anwendungsfällen, für die Groovy sich als Mittel der Wahl darstellt:
Mit dem Java Specification Request (JSR) 241 ist sie in die Standardisierung durch den Java Community Process einbezogen und wird damit quasi die zweite »amtliche« Sprache auf der Java-Plattform neben Java selbst. Groovy versteht sich somit als eine Implementierung des JSR-241. Entwickelt wird sie in einem bei Codehaus (www.codehaus.org) gehosteten Open Source-Projekt, das von Bob McWhirter und James Strachan gegründet wurde; derzeitiger Project Manager ist Guillaume Laforge. Nach einer Reihe von Überarbeitungen erfolgte die Freigabe der Groovy-Version 1.0 Anfang 2007.
In einem Probekapitel aus Groovy für Java-Entwickler können Sie schon einmal nachlesen, wie man in Groovy mit Closures, Builder und Templates arbeitet.
Eine Kurzübersicht der wichtigsten Eigenheiten der Programmiersprache Groovy gegenüber Java finden Sie unter Groovy für Grails-Entwickler.