Oracle verspricht Revolution für Java 8

Auf das eher evolutionäre Java 7 soll eine revolutionär bezeichnete nächste Sprachversion folgen, in deren Fokus Lambda-Ausdrücke und die Modularisierung der Programmierplattform stehen.

In Pocket speichern vorlesen Druckansicht 279 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Alexander Neumann

Mark Reinhold, verantwortlicher Oracle-Ingenieur der Java-Entwicklung, hat auf der derzeit in San Francisco tagenden JavaOne einen Ausblick auf Java 8 gegeben. Hatte Oracle das Ende Juli erschienene Java 7 als eher evolutionäres Release beschrieben, soll die nächste Version der Programmiersprache revolutionäre Züge haben. Ins Zentrum der Aufmerksamkeit hob Reinhold nun Project Lambda, durch das Closures in Java Einzug halten würden, und Project Jigsaw, das sich der Modularität der Sprache annimmt.

Java 7 hat weitaus weniger Bestandteile enthalten, als ursprünglich vorgesehen waren. Auf der JavaOne 2010 hatte Oracle eingestanden, dass der Integrationsprozess nach der Übernahme von Sun Microsystems weitaus länger als erwartet gedauert hatte. Der bis dahin angedachte Zeitplan für Java 7 wäre dadurch nicht mehr zu halten, hieß es damals. Man schätzte, bei unverändertem Funktionsumfang die noch verbleibenden Arbeiten frühestens Mitte 2012 abschließen zu können. Da Teile der neuen Funktionen aber nahezu fertig waren, hatte sich der neue Java-Statthalter letztlich entschieden, sie in Gestalt einer Art Zwischen-Release ("Java 7") ins Rennen zu schicken. Dieses "Plan B" genannte Szenario sah vor, die fehlenden Komponenten mit Java 8 oder gegebenenfalls noch später nachzureichen. Eine Veröffentlichung von Java 8 wurde für Ende 2012 anberaumt.

Als Hauptgrund für Lambda-Ausdrücke in Java nannte Reinhold, dass die Arbeit mit Multi-Core-Prozessoren diese erfordern würden. Neben diesem seitens der Java-Community schon lange gewünschten Feature herrscht eher Uneinigkeit hinsichtlich eines modularen Javas. In der Praxis bewährt hat sich seit Jahren schon der OSGi-Standard des Industriekonsortiums OSGi Alliance, mit dem sich Java-Programme und ihre Dienste über ein Komponentenmodell modularisieren und verwalten lassen.

Diese Art der Modularisierung wird von Oracle boykottiert. Die Java-Ingenieure schicken hier Jigsaw ins Rennen, das eine Modularisierung für die Plattform selbst anstrebt, also nicht nur die der Anwendungen. Geplant ist allerdings, dass mit Jigsaw umgesetzte Projekte auch mit OSGi-Entwicklungen integriert werden können.

Ein weiteres für Java 8 diskutiertes Thema stellt das Project Nashorn dar. Es stellt offenbar eine JavaScript-Neuimplementierung für die Java Virtual Machine (JVM) dar – die bislang präferierte läuft unter dem Namen Rhino. Das Projekt basiert auf dem JSR 292 (Supporting (Dynamically Typed Languages on the Java Platform) und soll auch die mit Java 7 eingeführte Anweisung InvokeDynamic vereinfachen. Weitere, von Reinhold genannte Punkte waren der Abschluss der Zusammenführung der JVMs JRockit und HotSpot, eine neue Date/Time API (JSR 310), Typ-Annotationen und die Unterstützung für Sensoren. (ane)