Groovy

Als Java-Entwickler der ersten Stunde (in der Uni 1996) sollte Groovy die Scripting-Sprache der ersten Wahl sein. Leider bin ich erst sehr spät mit Groovy in Kontakt gekommen ... im Zuge der Automatisierung von CI/CD mit Jenkins.

Erst nachdem ich mir Groovy näher angeschaut hatte, konnte ich die Jenkins-Pipelines wirklich verstehen und besseren Code schreiben.



Groovy als DSL-Sprache

Ein paar Sprachelement machen Groovy zu einer DSL-out-of-the-box:

  • Klammern kĂśnnen beim Funktionsaufruf weggelassen werden

  • Closures

    • Code-Injection

  • untypisiert (Typisierung ist aber mĂśglich)

  • optionale Parameter mit Default-Values

  • prozedurale/funktionale Programmierung

  • GStrings

    • Platzhalterersetzung

Auf diese Weise kann regulärer Groovy-Code schon wie eine DSL aussehen. Die Grenze zwischen Implementierung und Konfiguration verschwimmt.


Getting Started

Nach der Installation von Sdkman kann ich Groovy per sdk install groovy komfortabel von der Command-Line installieren.

Das schĂśne an SDKman ist das Wechseln der Version der unterstĂźtzen Sprachen. Unter Linux ist das ja nicht immer so einfach ...


Entwicklungsumgebung

VisualStudioCode ist mein Schweizer Taschenmesser und deshalb will ich es auch fĂźr Groovy verwenden.

Nach der Installation des Code Runner Plugins (Groovy muss vorab auf dem Betriebssystem installiert sein) lege ich eine Datei pierre.groovy mit folgendem Inhalt an:

def myName(name = "Pierre") {
   println "Hello ${name}"
}

myName("Robin")

und erhalte nach "Run Code" die Ausgabe "Hello Robin" :-)

Last updated

Was this helpful?