Groovy Shell Scripting — Java++ für die Shell — Teil 1–3
In der Serie „Groovy Shell Scripting“ zeigen wir euch, wie man die Programmiersprache Groovy in einer unerwarteten Umgebung einsetzen kann, nämlich auf der Kommandozeile. Groovy ist eine dynamische Sprache auf der JVM und glänzte schon einige Jahre vor Java mit Features wie funktionaler Programmierung oder Literals für oft benutzte Datenstrukturen wie List und Map.

Der Weg zu Groovy Shell Scripting
Groovy ist eigentlich eine universell einsetzbare Programmiersprache, die man z.B. oft bei Banken findet. Was mich aber damals zu Groovy geführt hat war das Problem, dass meine in einen Tomcat deployte Anwendung keine HTTPS-Verbindung zu einem anderen System aufmachen konnte, obwohl Firewall und curl keine Probleme damit hatten. Letztendlich habe ich das Problem gefunden, indem ich ein Groovy-Skript mit der gleichen JVM wie der Tomcat gestartet habe. Es fehlten Zertifikate im Trust Store der JVM.
Später musste ich Daten aus einer komplexeren XML-Datei extrahieren oder Automatisierungsskripte schreiben und landete wieder bei Groovy.
Jetzt werdet ihr euch sicher fragen, ob es ein großer Umstieg war, gleich eine neue Sprache zu lernen. Nein, als Java-Programmierer hatte ich nie das Gefühl hatte, eine wirklich neue Sprache lernen zu müssen. Groovy war eher Java wie ich es mir immer gewünscht hatte. Wenn man sich neuere Sprachfeatures von Java ansieht, etwa die Type Inference in Java 10 oder die in Java 8 eingeführten Lamdas, muss man anerkennen, dass Groovy viele Trends schon erkannt hatte, bevor sie auch nur in die Nähe von Java gekommen sind.
Ich bin also über das Skripting von Java zu Groovy gekommen. In diesem und den nächsten Blogbeiträgen möchte ich euch einige Features beschreiben, die ich oft verwende, wenn ich mit Groovy Shell Scripting unterwegs bin.