Interview mit Simon Ritter

„Bei JDK 9 geht es einzig darum, die Laufzeit modular zu verändern“

Gabriela Motroc

© Simon Ritter

Java 9 bietet über 150 neue Features, aber jeder hat zweifelsfrei seinen eigenen Favoriten. Wir haben uns mit Simon Ritter, Deputy CTO bei Azul Systems, über seine neue Lieblingsfeatures, das modulare System und mehr unterhalten.

Java SE 9 ist endlich da! Es kommt mit über 150 neuen Funktionen, darunter ein neues Modulsystem und etliche Verbesserungen, die mehr Sicherheit, mehr Skalierbarkeit und ein grundlegend besseres Performance-Management versprechen.

Der Star des Releases ist zweifelsfrei das Java Platform Module System, besser bekannt unter Project Jigsaw. Das Ziel des Projekts ist es, Entwicklern dabei zu helfen anspruchsvolle Anwendungen zuverlässig zu entwickeln und anschließend zu warten. Darüber hinaus ist es den Entwickler möglich nur die Teile des JDKs zu bündeln, die für den Betrieb einer Anwendung, die in die Cloud deployt wird, benötigt werden. Dementsprechend könnte man sagen, dass das Modulsystem auch das JDK flexibler macht.

Lesen Sie auch: „Jigsaw wird nicht wichtig sein – wir haben bereits Maven und OSGi“

Wer nicht gleich in das modulare Ökosystem von Java 9 eintauchen möchte, sollte wissen, dass es möglich ist auch ohne Module mit JDK 9 zu starten. Wie Georges Saab, Vice President of Deployment für die Java Platform Group bei Oracle, uns vor einigen Monaten sagte: „Der Klassenpfad funktioniert weiterhin. So werden wahrscheinlich die meisten Entwickler in die Arbeit mit Java 9 einsteigen“.

Wir haben uns mit Simon Ritter, Deputy CTO bei Azul Systems, über seine Lieblingsfeatures in Java 9, nicht inkludierte Features, Project Jigsaw, die neue Versionsnummerierung und mehr unterhalten.

JAXenter: Das Warten hat ein Ende – Java 9 wurde releaset. Welches ist Dein Lieblingsfeature und warum?

Simon Ritter: Tatsächlich habe ich nicht nur eines. Mein erstes Lieblingsfeature ist die durchsuchbare API-Dokumentation – endlich ist sie da! Das zweite ist das neue SpinWaitHints-Feature (JEP 285). Mir gefällt das Feature, da es von Azul vorgeschlagen wurde und damit das erste JEP ist, das von außerhalb und nicht von Oracle kam. Das zeigt, dass das JDK-Enhancement-Proposal-Verfahren zur Beschaffung von Fremdbeiträgen funktioniert.

JAXenter: Gibt es Features, die Du gerne in Java 9 gesehen hättest, die aber nicht integriert wurden?

Simon Ritter: Nein. Ich denke, dass das Feature-Set sehr umfassend und Modularität ein großer zu integrierender Brocken ist. Mit dem neuen sechsmonatigen JDK-Release-Zyklus werden Entwickler schneller auf Features zugreifen können, damit die Java-Plattform stets aktuell und relevant für die moderne Anwendungsentwicklung bleibt. Für eine über zwanzig Jahre alte Plattform – die ich die gesamte Zeit über genutzt habe – , bin ich sehr zufrieden mit ihren Features.

Das neue SpinWaitHints-Feature wurde von Azul vorgeschlagen und ist damit das erste JEP, das von außerhalb und nicht von Oracle kam.

JAXenter: Project Jigsaw ist endlich da. Was hältst Du von dem Modulsystem? Wirst Du mit oder ohne Module starten?

Simon Ritter: Das Modulsystem war ein großes Unterfangen und hat viele, für die Codenetwicklung nicht offensichtliche, Änderungen notwendig gemacht. Das schnelle Reagieren des Entwicklungsteams auf Feedback aus der Java-Community hat die Migration von Anwendungen auf JDK 9 merklich erleichtert. Das Team hat eine Reihe an Kommandozeilen-Flags eingeführt, die die Migration von Anwendungen erheblich vereinfacht.

JAXenter: Project Jigsaw sollte eigentlich ein Hauptmerkmal von Java 8 werden, wurde von Oracle allerdings verschoben. Stattdessen wurde es das Hauptmerkmal von Java 9. Hat sich das Warten gelohnt?

Simon Ritter: Definitiv! Bei etwas so komplexem wie Modularität ist es zweifelsfrei am Besten, sich zu vergewissern, dass alles richtig ist, anstatt zu versuchen es frühzeitig zu releasen.

JAXenter: Oracle hat ein neues Versionsnummerierungsschema vorgeschlagen. Was hältst Du davon? Denkst Du, es ist eine gute Idee das Schema zu ändern?

Simon Ritter: Ich denke, dass das neue Nummerierungsschema absolut nachvollziehbar ist und es den Usern klar machen wird, welche Java-Version sie verwenden. Die ein oder andere Software wird womöglich anfangs Probleme haben, da nur nach der Hauptversionsnummer gesucht wird. Allerdings sollte dieses Problem leicht zu beheben sein.

JAXenter: Oracle hat den Wunsch geäußert zukünftige OpenJDK Builds unter der GPL zu veröffentlichen. Darüber hinaus soll es keine technischen Unterschiede zwischen OpenJDK-Builds und Oracle JDK-Binaries geben. Was bedeutet das und warum sollten User den proprietären Weg gehen?

Simon Ritter: Damit erfüllt Java tatsächlich die Bedingungen eines Open-Source-Projekts. In der Vergangenheit führte die Aufnahme von Non Open Source Binaries zu Verwirrung bzgl. der Lizenzierung und dem Support.

Praktisch gesehen wird der einzige Unterschied zwischen Oracle JDK Binaries und OpenJDK Binaries zukünftig darin bestehen, dass Oracle Binaries für drei Jahre (LTS) und nicht bloß bis zum nächsten Release mit öffentlichen Updates versorgt werden. Ein Teil der erforderlichen, Arbeit, die die Unterschiede beseitigt, liegt im Open Sourcing von Java Flight Recorder und Mission Control. Die Java-Community hat diesen Ansatz sehr positiv aufgenommen.

JAXenter: Ist Java 9 für Entwickler eben so interessant wie Java 8?

Simon Ritter: Eher nicht. Das JDK 8 enthielt größere Features für API und Sprache, insbesondere Lambda-Ausdrücke und Streams. Dadurch wurde ein funktionaler Programmierstil in Java eingeführt, den es zuvor noch nicht gab, was für Entwickler sehr spannend war. Im JDK 9 gibt es keine ähnlich großen Features für Entwickler. Es geht nur darum, die Laufzeit modular zu verändern.

Geschrieben von
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: