Interview mit Michael Vitz

Java 9 Release: „Für mich sind die Erweiterungen der bestehenden APIs die wichtigsten Features“

Dominik Mohilo

Michael Vitz

Unsere Interview-Reihe mit Java-Experten zum Release von Java 9 geht weiter. Diesmal sprechen wir mit Michael Vitz, Senior Consultant bei InnoQ, über die Features, die ihm in Java noch fehlen, und über das neue Veröffentlichungsstrategie der Programmiersprache. Er skizziert außerdem, welche Probleme die mangelnde Aufgeschlossenheit gegenüber Updates bei Unternehmen verursachen kann.

Wir sprechen mit Michael Vitz, Senior Consultant bei InnoQ, über die fehlenden Features in Java und das neue Veröffentlichungsschema. Außerdem gibt er eine Einschätzung zur Gefahr der Fragmentierung ab.

PS: Verpassen Sie nicht unsere Infografik zu Java 9 & Project Jigsaw!


JAXenter: Hallo Michael und danke, dass du dir die Zeit genommen hast. Java 9 wurde ja vor wenigen Wochen veröffentlicht. Welches Feature ist für dich das wichtigste der neuen Java-Version?

Michael Vitz: Für mich sind die Erweiterungen der bestehenden APIs die wichtigsten Features. Zum Beispiel ist die in java.util.Optional neu hinzugefügte Methode or eine, die ich schon häufig schmerzlich vermisst habe. Aber auch die Erweiterungen des Stream-APIs werde ich wohl in Zukunft häufiger und bewusster nutzen als viele der großen neuen Features.

JAXenter: Projekt Jigsaw bringt das Modulsystem für Java. War Jigsaw das lange Warten wert?

Michael Vitz: Da ich auf Jigsaw nie wirklich gewartet habe, kann ich das schlecht beurteilen. Ich habe es jedoch begrüßt, dass Oracle nach dem zwischenzeitlich vernichtenden Vote Java 9 verschoben hat und konstruktiv mit der Community (bzw. deren Vertretern) daran gearbeitet hat, Jigsaw noch zu verbessern.

JAXenter: Wirst du gleich mit Jigsaw durchstarten, oder siehst du die Modulsache eher skeptisch?

Michael Vitz: Ich persönlich sehe den Nutzen für Jigsaw aktuell eher im Bereich der Bibliotheken. Zumeist schreibe ich jedoch Anwendungen und aus dem Grunde glaube ich, dass es noch ein wenig dauern wird, bis ich Jigsaw wirklich das erste Mal aktiv einsetze.

JAXenter: Welche Features fehlen deiner Meinung nach?

Michael Vitz: Schaut man sich andere Programmiersprachen an, dann fallen einem mit Sicherheit einige Dinge ein, die man in Java noch umsetzen könnte. So würden z.B. Pattern Matching, das ja mit Java 10 kommen soll, und eine spezielle Syntax für Datenklassen (ähnlich wie z.B. in Kotlin) den Boilerplate von Java noch reduzieren. Die Frage ist allerdings immer, wie viel einem das bringt und wie viel es kostet. Wirklich fehlen tut mir derzeit nichts, aber manchmal merkt man ja erst das etwas fehlte, wenn es dann da ist.

JAXenter: Java-Releases wird es zukünftig häufiger geben: ein Feature Release alle sechs Monate, ein Long-term Support Release alle drei Jahre. Welche Auswirkungen wird das haben?

Michael Vitz: Grundsätzlich begrüße ich kürzere Release-Zyklen. Ich erhoffe mir vor allem, dass wir damit endlich die vielen kleinen Verbesserungen schneller zur Verfügung haben und einsetzen können. Gerade die bereits erwähnten kleinen API-Änderungen von Java 9 umfassen nur wenige Zeilen und trotzdem mussten wir jahrelang darauf warten. Andererseits muss man natürlich erst abwarten, wie Unternehmen dieses Modell aufnehmen.

JAXenter: Unternehmen sind mitunter nicht sehr erpicht darauf, Updates zu fahren – gerade wenn es um neue Java-Versionen geht. Ist das nicht ein Problem, neue Versionen nun so oft erscheinen werden? Wie schätzt du die Gefahr der Fragmentierung ein?

Sieht man sich die Verteilung von Java heute an, besteht schon eine gewisse Fragmentierung.

Michael Vitz: Sieht man sich die Verteilung von Java heute an, dann stellt man auch hier schon fest, dass eine gewisse Fragmentierung besteht. Viele Anwendungen laufen noch auf Java 7 und bestimmt etliche auch noch mit älteren Java-Versionen. Vermutlich wird der kürzere Release-Zyklus die Fragmentierung noch ein wenig erhöhen, aber ich glaube nicht, dass dies große Probleme verursachen wird. Es besteht immerhin auch eine kleine Chance, dass durch die häufigeren Releases, die dann weniger Änderungen beinhalten, schneller auf eine neue Version gewechselt wird.

JAXenter: OpenJDK Builds sollen zukünftig unter der GPL veröffentlicht und gleichzeitig identisch zu den Oracle JDK Binaries werden. Was genau bedeutet das? War Java nicht ohnehin schon Open Source?

Michael Vitz: In der Vergangenheit gab es immer wieder Unterschiede zwischen dem OpenJDK und dem JDK von Oracle. Aus diesem Grund mussten sich viele Produkte entweder für eines der beiden entscheiden oder mit beiden testen. Auch das Thema mit der OracleJDK-Lizenz und der Verteilung in Docker-Containern hat Unsicherheit verursacht. All dies sollte durch den Schritt entfallen und ist mit Sicherheit positiv aufzunehmen. Dazu kommen noch die bisher kommerziellen Zusatzfunktionen, die Oracle ja auch unter eine Open-Source-Lizenz stellen möchte, wie z.B. der Java Flight Recorder. Alles in allem wird Java also definitiv freier, als es vorher war.

java-9-vitzMichael Vitz ist Senior Consultant bei innoQ und verfügt über mehrjährige Erfahrung in der Entwicklung und im Betrieb von JVM-basierten Systemen. Zur Zeit beschäftigt er sich vor allem mit den Themen Microservices, Cloud-Architekturen, DevOps, Spring-Framework sowie Clojure.

HINTERGRUND ZUM THEMA:

Java 9 ist da! Project Jigsaw & die neuen Features auf einen Blick

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: