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

Java Magazin: Ihr habt gerade ein Upgrade auf JDK 7 vollzogen und einiges an JDK-7-Support hinzugefügt. Ist das Teil der „natürlichen“ Weiterentwicklung – oder was war der Hintergrund für diese Entscheidung?

Guillaume Laforge: „Upgegradet“ auf JDK 7 haben wir insofern, als wir nun spezielle Unterstützung für JDK-7-Nutzer anbieten. Hier sind vor allem zwei Aspekte im Spiel: Project-Coin-Syntaxverbesserungen und Unterstützung für Invoke Dynamic. Wir übernehmen die meisten der Syntaxverbesserungen des JDK 7. Sobald Java-Entwickler vertrauter damit werden, werden sie nämlich erwarten, dass diese auch in Groovy verfügbar sind. Als zweiten Aspekt haben wir die Performanceverbesserungen in der Groovy-Runtime fortgeführt, besonders in ihrem dynamischen Kern. Wir haben die neue Invoke-Dynamic-Bytecode-Anweisung und APIs verwendet, um dynamische Methodenaufrufe, Methoden-Caching-Fähigkeiten etc. in Groovy zu beschleunigen.

Java Magazin: Inwieweit werden sich diese Neuerungen für den Nutzer bemerkbar machen?

Guillaume Laforge: Die Syntaxverbesserungen sind ohnehin sichtbar, in Form von Syntaxhinzufügungen. Besonders profitieren werden Nutzer allerdings von den Performanceverbesserungen, da diese nun möglich sind, ohne im jeweiligen Programm etwas verändern zu müssen. Es war also nur konsequent, weiterhin von den Neuerungen der jüngeren JDKs zu profitieren, besonders, wenn man bedenkt, wie eng und interoperabel Groovy und Java im Vergleich zu anderen Sprachen sind.

Java Magazin: Warum war es der richtige Zeitpunkt für JDK-7-Unterstützung?

Guillaume Laforge: Nun, obwohl Java 6 aktuell noch immer die dominante Java-Version ist, wird JDK 7 immer häufiger deployt. Java-Entwickler steigen also um und werden ein starkes Interesse daran haben, die neuen Features von Java 7 und dem JDK optimal nutzen zu können.

Java Magazin: Können Sie mehr zur Einführung von neuen Features aus dem Projekt Coin sagen?

Guillaume Laforge: Da die Syntax von Groovy von Java-5-Grammatik abgeleitet ist, sind die meisten Javaprogramme gleichzeitig gültige Groovy-Programme. Manche sprechen von „Copy-and-Paste-Kompatibilität“. Man sollte aber von der buganfälligen Methode, Java-Code-Ausschnitte in Groovy-Programme zu kopieren, absehen.

Groovy-Anfänger coden in Groovy oft mit einer Java-ähnlichen Syntax. Sobald sie Groovy dann besser verstehen, nutzen sie vermehrt die vielen Shortcuts und APIs, die Groovy bereithält.

Mit Blick auf die Kompatibilität auf Syntaxebene erwarten wir von unseren Usern, dass sie gewillt sind, einige der Neuerungen, die sie in den Syntaxverbesserungen in Java 7 finden (d. h. die neuen Syntaxelemente im Projekt Coin), auch in Groovy zu verwenden. Groovy-Nutzer kennen einige davon schon, da sie seit 2003 zum Beispiel schon Strings und viele weitere Typen in ihren Switch-Case-Blocks verwenden konnten. Es ist übrigens schön zu sehen, dass Java sich in dieser Beziehung weiterentwickelt, wenn auch langsamer.

Kommentare

Schreibe einen Kommentar

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