Groovy - LinkFang.de





Groovy


Dieser Artikel behandelt die Programmiersprache. Für den Musikbegriff siehe Groove (Musik).
Groovy
Paradigmen: objektorientiert, Skriptsprache, teilweise deklarativ
Erscheinungsjahr: 2003
Entwickler: The Groovy Project, Apache Software Foundation
Aktuelle Version: 2.4.6  (22. Februar 2016)
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, Mac OS X 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.[1] 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.[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 betrachtet mittlerweile Scala als besseren Kandidaten dafür, Java zu ersetzen.[3] 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, vim und Emacs.

Beispiel

Der folgende kompakte Groovy-Skript-Quellcode (das Skript ist exakt so lauffähig)

 ["Rod", "Carlos", "Chris"].each{println it}

ist semantisch ungefähr äquivalent zu diesem Java-Code-Snippet, wobei hier die Javamethode fehlt, in der dieser Code ausgeführt wird.

 for (String it : new String [] {"Rod", "Carlos", "Chris"})
     System.out.println(it);

Im Groovy-Beispiel wird allerdings eine Liste verwendet und im Java-Snippet ein Array.

Mit den in Java 8 eingeführten Lambda Ausdrücken lässt sich das Beispiel auch wie folgt schreiben:

 Arrays.asList("Rod", "Carlos", "Chris").forEach( it -> System.out.println(it) );

Auch lässt sich dieses Problem in Java 8 mit method references lösen:

 Arrays.asList("Rod", "Carlos", "Chris").forEach( System.out::println );

Siehe auch

Literatur

Weblinks

 Wikibooks: Groovy – Lern- und Lehrmaterialien

Einzelnachweise

  1. groovy.codehaus.org: From source code to bytecode
  2. JSR 241 im Java Community Process
  3. Scala as the long term replacement for java/javac? Abgerufen am 21. Juli 2009.
  4. Groovy Project Incubation Status. The Apache Software Foundation, 16. April 2015, abgerufen am 26. Oktober 2015.

Kategorien: Programmiersprache für die Java Virtual Machine | Skriptsprache

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Groovy (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.