„Groovy" – Versionsunterschied
Version vom 21. Juli 2009, 12:49 Uhr
Groovy | |
---|---|
Paradigmen: | objektorientiert, Skriptsprache, teilweise deklarativ |
Erscheinungsjahr: | 2003 |
Designer: | James Strachan |
Entwickler: | The Codehaus |
Aktuelle Version: | 1.6.3 (13.5.2009) |
Typisierung: | stark, statisch, dynamisch |
Beeinflusst von: | Python, Java, Ruby, Perl, Smalltalk |
Betriebssystem: | plattformunabhängig |
Lizenz: | Open Source, Apache Software License 2.0 |
Groovy.Codehaus |
Groovy ist eine dynamisch typisierte Programmiersprache und Skriptsprache für die Java Virtual Machine von James Strachan. Sie versucht, eine „geschliffene" Fassung der Java-Syntax mit den Konzepten von Ruby zu verbinden.
Groovy besitzt einige Fähigkeiten, die in Java nicht vorhanden sind: Closures, native Syntax für Maps, Listen und Reguläre Ausdrücke, ein einfaches Templatesystem, mit dem HTML und SQL-Code erzeugt werden kann, eine XQuery-ähnliche Syntax zum Ablaufen von Objektbäumen, Operatorüberladung und eine native Darstellung für BigDecimal und BigInteger.
Groovy wird nicht wie andere Skriptsprachen über einen interpretierten Abstract Syntax Tree ausgeführt, sondern vor dem Ablauf eines Skripts direkt in Java-Bytecode übersetzt[1] . Syntaktisch ist Groovy viel weiter von Java entfernt als BeanShell, aber nicht so weit wie Ruby oder Jython.
Groovy wird aufgrund der einfachen Handhabung von BigDecimal unter anderem im Finanzbereich eingesetzt. Groovy gilt als besser integriert als die meisten anderen Skriptsprachen auf der JVM. Dies ermöglicht eine einfache Nutzung bestehender Bibliotheken oder die Nutzung von Groovyobjekten und -klassen in Java.
Das Projekt wurde 2003 gestartet. Groovy wurde 2004 als JSR 241 in den Java Community Process zur Standardisierung aufgenommen[2] . Der ursprünglich von James Strachan ins Leben gerufene JSR wird von Guillaume Laforge geführt, der auch Projektleiter des Implementierungsprojektes ist. James Strachan zweifelt mittlerweile an seiner eigenen Schöpfung und schrieb im Juli 2009 in seinem Blog, dass er Groovy vermutlich nicht erschaffen hätte, wenn er im Jahr 2003 Scala gekannt hätte[3] . Anfang 2007 ist die Version 1.0 veröffentlicht worden.
Für Groovy existieren mittlerweile Plugins für Eclipse, IntelliJ IDEA, NetBeans, vim und Emacs.
Beispiel
Der folgende kompakte Groovy-Quellcode
["Rod","Carlos","Chris"].findAll{it.size()<=4}.each{printlnit}
ist äquivalent zu diesem Java-Code
publicclass StdJava{ publicstaticvoidmain(Stringargv[]){ for(Stringit:newString[]{"Rod","Carlos","Chris"}) if(it.length()<=4) System.out.println(it); } }
Siehe auch
- BeanShell
- Jacl
- Jython
- JRuby
- Rhino
- Nice
- Grails, eine auf Groovy basierende Anlehnung an Ruby on Rails
- Scala (Programmiersprache)
Literatur
- Dierk Koenig, Guillaume Laforge und Andrew Glover. Groovy in Action . Manning, 2006. ISBN 1932394842.
- Dierk König u.a.: Groovy im Einsatz, Hanser Verlag, 2007, ISBN 978-3-446-41238-5
- Jörg Staudemeyer: Groovy für Java-Entwickler, O'Reilly Verlag, 2007, ISBN 978-3-89721-483-5
- Joachim Baumann: Groovy Grundlagen und fortgeschrittene Techniken, dpunkt.verlag, 2008, ISBN 978-3-89864-445-7
- Kenneth Barclay, John Savage. Groovy Programming: An Introduction for Java Developers. Morgan Kaufmann, 2006. ISBN 0123725070.
Einzelnachweise
- ↑ groovy.codehaus.org: From source code to bytecode
- ↑ JSR 241 im Java Community Process
- ↑ Scala as the long term replacement for java/javac? Abgerufen am 21. Juli 2009.
Weblinks
- Offizielle Webpräsenz
- Deutscher Fachartikel zu Groovy (PDF-Datei; 215 kB)
- Online Kurzeinführung zu Groovy