Doch keine Modularisierung in Java 8
Ein maĂźgeblich in die Java-Entwicklung involvierter Oracle-Ingenieur hat vorgeschlagen, das sich eines Java-Modulsystems annehmende Projekt Jigsaw auf Java 9 zu verschieben.
- Alexander Neumann
Ein zentrales für Java 8 vorgesehenes Feature scheint es nicht in die nächste Version der Programmiersprache zu schaffen: das Projekt Jigsaw, das sich eines neuen Java-Modulsystems annehmen soll. Pikant und sicherlich für viele in der Java-Community ärgerlich ist, dass das Projekt eigentlich schon für das letzte Jahr verabschiedete Java 7 vorgesehen war, Oracle allerdings die Community hinsichtlich der Modularisierung auf die nächste Version vertröstet hatte, um die Veröffentlichung von Java 7 nicht noch länger aufzuschieben.
Der Vorschlag, Projekt Jigsaw erst in die Java SE 9 (Java Standard Edition) mit aufzunehmen, stammt von Mark Reinhold, der bei Oracle maßgeblich verantwortliche Ingenieur für die Java-Entwicklung. Seiner Meinung nach sei die bisherige Entwicklung nicht weit genug fortgeschritten, um die an die Technik gestellten Anforderungen rechtzeitig bis zum nächsten Sommer, wenn Java 8 erscheinen soll, umsetzen zu können. Selbst für das Ausarbeiten alternativer Ideen sei die Zeit zu knapp, denn die funktionalen Arbeiten für Java 8 müssen im Mai 2013 abgeschlossen sein. Die Veröffentlichung des nächsten Java zu verschieben, bis das Modulsystem adäquat umgesetzt sei, ist für Reinhold ebenfalls keine Alternative. Die Veröffentlichung von Java 9 ist derzeit für 2015 vorgesehen.
Kaum ein Thema wird in der Java-Community schon so lange diskutiert wie das der Modularisierung in Java. Um die drei hierzu in den Java Community Process (JCP), dem zentralen Java-Standardisierungsorgan, eingebrachten und zum Teil gescheiterten Java Specification Requests (JSRs) 277, 291 und 294 gab es immer wieder heftige Blog-Postings und Verbalangriffe.
Auf der einen Seite stehen Oracles beziehungsweise zuvor Suns Vertreter, die das Thema Modularisierung innerhalb des im Rahmen des OpenJDK entwickelten Project Jigsaw angehen. Es berücksichtigt Änderungen bei der Sprache, den Klassen und anderen Elementen von Java, damit sich Komponenten der Sprache einfacher in Applikationen abgrenzen, austauschen und miteinander verknüpfen lassen. Auf der anderen Seite befinden sich die Vertreter des Industriestandards OSGi (Open Services Gateway initiative), mit dem sich seit über zehn Jahren Java-Programme und ihre Dienste über ein Komponentenmodell modularisieren und verwalten lassen. Letzteren wird von den anderen zumeist vorgeworfen, dass Java etwas brauche, das viel "leichtgewichtiger" als OSGi sei. Allerdings ist mittlerweile eine der Anforderungen an das Jigsaw-Projekt, dass es OSGi gut unterstützen soll. Hierfür ist OpenJDK-Projekt Penrose zuständig.
Von der Verschiebung wären übrigens auch die Bemühungen betroffen, die Java Standard Edition und die Java Mobile Edition (Java ME) zu vereinheitlichen, was Oracle noch zur letzten JavaOne für Java 8 vorgesehen hatte. Auch die Umsetzung würde um zwei Jahre nach hinten verschoben werden. Reinhold empfiehlt deshalb der gerade sich formierenden Expert Group des JSR 337, die sich der Spezifikation der in Java 8 zu findenden Techniken annehmen soll, vor, einige wenige Profile zu bestimmen, die kompakte Konfigurationen der Java SE für Geräte mit geringen Ressourcen ermöglichen. (ane)