Groovy
| Groovy | |
|---|---|
| Basisdaten | |
| Paradigmen: | objektorientiert, teilweise deklarativ, imperativ |
| Erscheinungsjahr: | 2003 |
| Designer: | James Strachan |
| Entwickler: | The Groovy Project, Apache Software Foundation |
| Aktuelle Version | 5.0.6[1] (4. Mai 2026) |
| Typisierung: | stark, statisch, dynamisch |
| Beeinflusst von: | Python, Ruby, Java |
| Betriebssystem: | plattformunabhängig |
| Lizenz: | Apache-Lizenz 2 (Open Source) |
| groovy-lang.org | |
Groovy ist eine Programmiersprache und Skriptsprache, die dynamische und statische Typisierung unterstützt. Sie zählt zu den Sprachen, die auf der Java Virtual Machine ausgeführt werden, was eine Verfügbarkeit für viele Plattformen wie insbesondere Linux, macOS und Windows ermöglicht. Das Design-Ziel des ursprünglichen Entwicklers James Strachan bestand darin, eine „geschliffene“ Fassung der Java-Syntax mit den Konzepten von Ruby zu verbinden.
Groovy besitzt einige Fähigkeiten, die in Java nicht vorhanden sind: 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.[2] Syntaktisch ist Groovy viel weiter von Java entfernt als BeanShell, dafür aber viel näher zu Ruby und Python.
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 Groovy-Objekten und -Klassen in Java.
Das Projekt wurde 2003 gestartet. Groovy wurde 2004 als JSR 241 in den Java Community Process zur Standardisierung aufgenommen.[3] Der ursprünglich von James Strachan ins Leben gerufene JSR wird von Guillaume Laforge geführt, der auch Projektleiter des Implementierungsprojektes ist. Lange vor der Anfang 2007 erschienenen Version 1.0 von Groovy wechselte Strachan zu ActiveMQ. 2015 wurde Groovy als Incubator-Projekt der Apache Software Foundation aufgenommen.[4]
Für Groovy existieren Plugins für Eclipse, IntelliJ IDEA, NetBeans, Visual Studio Code[5], vim und Emacs.
Beispiel
Der folgende kompakte, in dieser Form lauffähige Groovy-Skript-Quellcode
["Rod", "Carlos", "Chris"].each { println it }
entspricht diesem gekürzten Java-Code-Schnipsel, bei dem die Java-Methode fehlt, in der der Code ausgeführt werden muss:
List.of("Rod", "Carlos", "Chris").forEach(System.out::println)
Siehe auch
- Gradle
- Grails, eine auf Groovy basierende Anlehnung an Ruby on Rails
Literatur
- Dierk König u. a.: Groovy in Action 2nd. Manning, 2015. ISBN 978-1-935182-44-3.
- Dierk König u. a.: Groovy im Einsatz, Hanser Verlag, 2007, ISBN 978-3-446-41238-5
- Jörg Staudemeyer: Groovy – kurz & gut, O’Reilly Verlag, 2014, ISBN 978-3-95561-602-1
- Joachim Baumann: Groovy Grundlagen und fortgeschrittene Techniken, dpunkt.verlag, 2008, ISBN 978-3-89864-445-7
- Jörg Staudemeyer: Groovy für Java-Entwickler, O’Reilly, Köln 2007 OpenBook (PDF, ca. 3 MB)
- Kenneth Barclay, John Savage: Groovy Programming: An Introduction for Java Developers. Morgan Kaufmann, 2006. ISBN 0-12-372507-0.
Weblinks
Einzelnachweise
- ↑ Release 5.0.6. 4. Mai 2026 (abgerufen am 4. Mai 2026).
- ↑ groovy.codehaus.org: From source code to bytecode ( vom 8. März 2009 im Internet Archive)
- ↑ JSR 241 im Java Community Process
- ↑ Groovy Project Incubation Status. The Apache Software Foundation, 16. April 2015, abgerufen am 26. Oktober 2015.
- ↑ code-groovy
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.