Interview mit Guillaume Laforge über Groovy 2.0

"Verstehen Sie mich nicht falsch, wir lieben Java" – Guillaume Laforge über Groovy 2.0

Gestern wurde die lang ersehnte Version 2.0 der dynamischen JVM-Sprache Groovy freigegeben. Grund genug, uns mit Groovy-Gründer Guillaume Laforge über das neue Release zu unterhalten. Und wer nach der Lektüre motiviert ist, so richtig in die Entwicklung mit Groovy 2.0 einzusteigen, findet im aktuellen Java Magazin 8.2012 einen Heftschwerpunkt mit Artikeln und Tutorials über Groovy 2.0, GroovyFX und die DSL-Entwicklung mit Groovy.

Java Magazin: Reden wir zunächst über den Sprung in der Versionsnummer. Warum wurde 1.9 ausgelassen?

Guillaume Laforge: Das ist schon einmal passiert seit es dieses Projekt gibt, von 1.1 auf 1.5. Dieser zweite Sprung in der Versionsnummer wird der Bedeutung von diesem Release besser gerecht. Denn ursprünglich hatte 1.9 (was jetzt 2.0 ist) einen geringeren Umfang an Features. Aber bei all der Arbeit, die wir in dieses Release investiert haben, dachten wir, eine Minor-Version wäre unangebracht. Was wir als Major-Versionen verstehen, wird auch weiterhin eine entsprechende Versionsnummer tragen. Aber keine Sorge, wir werden uns, was die Erhöhung der Versionsnummern angeht, kein Beispiel an Webbrowsern nehmen …

Java Magazin: Wie lange hat es von 1.8 bis 2.0 gedauert und wie viele Committer haben mitgewirkt?

Guillaume Laforge: Unsere Hauptversionen erscheinen normalerweise im Jahresrhythmus oder alle anderthalb Jahre (mit Ausnahme der allerersten, 1.0, natürlich). Es ist immer schwierig, genaue Daten anzugeben, da der Umfang des Release sich mit der Zeit ändert. Es hängt auch davon ab, wie viel Zeit unsere Committer dem Projekt widmen können usw. Wir haben immer eine Handvoll sehr aktiver Committer (einige arbeiten rund um die Uhr am Projekt), und viele, die hin und wieder zu Einzelaspekten beitragen.

Java Magazin: Was ist eigentlich das Grundkonzept von Groovy? Ist die Sprache aus einer Unzufriedenheit mit Java heraus entstanden, oder in dem Bestreben, Java zu verbessern?

Guillaume Laforge: In der Tat. In anderen Sprachen gibt es seit Jahren interessante Features, die Java leider nicht hat. Groovy hat seit 2003 Closures, während es in Java erst in ein, zwei Jahren im JDK 8 welche geben wird. Aber verstehen Sie mich nicht falsch, wir lieben Java und promoten Groovy gewöhnlich als „Javas Cousine“ oder „Javas beste Freundin“, da die Interoperabilität zwischen den Sprachen immer ein Hauptanliegen und sogar eine Designrichtlinie für uns war. Nur so können Java-Entwickler in Groovy produktiv werden, ohne zuerst eine steile Lernkurve hinnehmen zu müssen.

Im Wesentlichen baut Groovy auf der Grammatik von Java auf, um Javas Syntax in vielen Aspekten zu erweitern und den Code konziser und expressiver zu machen. Produktivität ist immer schon ein Hauptziel der Sprache gewesen: Wir wollen es Groovy-Entwicklern ermöglichen, sich ganz auf ihren jeweiligen Businessauftrag zu konzentrieren, statt Massen an Boilerplate-Code zu schreiben, der sie davon abhält, ihre Businesslogik zu gestalten. Abgesehen von der Synax, die Java-Entwicklern sehr vertraut vorkommen wird, gibt es in Groovy wichtige Features wie Closures und ein paar Elemente aus der funktionalen Programmierung, um einfacher mit Collections umgehen zu können, damit das Schreiben von komplexen Algorithmen erleichtert wird. Auch fehlende Funktionalitäten in JDK APIs wurden in Groovy hinzugefügt.

Groovy an sich ist eine dynamische getypte Sprache, eine Sprache mit Multiple-Dispatch-Runtime statt statischer Kompilation. Sie eröffnet eine Reihe von interessanten Perspektiven für die Entwicklung von Bibliotheken und Frameworks. Und Projekte wie Grails, Gradle, GPars, Griffon, Spock u. v. m. nutzen diese Aspekte zu ihrem Vorteil.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.