Java 8 heißt funktionale Programmierung willkommen
Auf das 2011 erschienene Java 7 folgt nun eine neue Java-Version, die nach Meinung vieler mit den Lambda-Ausdrücken das wichtigste neue Feature seit den Generics in Java 5 mitbringt.
- Alexander Neumann
Seit vorigem Frühjahr ist der 18. März als Release-Datum für Java 8 bekannt. Damals war die neue Version der Programmiersprache verschoben worden, nachdem Oracles Java-Ingenieure die Arbeiten am vermutlich wichtigsten Feature, den Lambda-Funktionen, zurückstellen mussten. Zunächst wurde für wichtiger erachtet, eine Welle an aufgedeckten Sicherheitslücken zu beheben.
Oracles nun zum Download freigegebenes JDK 8 (Java Development Kit) und auch die freie Implementierung OpenJDK 8 basieren auf der im Java Community Process (JCP) spezifizierten Java Standard Edition 8. An erster Stelle unter den Neuerungen sind die dort beschriebenen Lambda-Funktionen zu nennen. Sie sind ein schon lange ersehntes Sprachfeature, das viele als signifikanteste Spracherweiterung seit den Generics in Java 5 ansehen. Sie ermöglichen nun auch einen funktionalen Programmierstil in der eigentlich rein objektorientierten Sprache und sollen nicht nur für klareren Code, sondern auch für besser parallelisierbare Algorithmen sorgen.
Lambda-Ausdrücke sind eine kompakte Schreibweise zur Formulierung einer anonymen Klasse mit einer Methode. Solche Klassen werden häufig benötigt, um funktionale Schnittstellen zu implementieren, also Schnittstellen, die die Signatur exakt einer Methode definieren.
Hier hatte Java in den vergangenen Jahren Konkurrenz durch andere Sprachen wie Scala oder Clojure bekommen, die das funktionale Programmierparadigma auf der Java Virtual Machine (JVM) populär gemacht und auch Java selbst beeinflusst hatten. Und auch außerhalb der Java-Community lässt sich ein Comeback funktionalen Programmierstils feststellen. So ist derzeit auch ein Boom der Programmiersprache JavaScript zu beobachten, die sich ebenfalls funktional nutzen lässt, und erst kürzlich kratzte F# an den Top 10 der beliebtesten Programmiersprachen im TIOBE Programming Index.
Noch einiges andere mehr
Weitere Neuerungen in Java 8 sind die Streams API, die sich als gutes Beispiel für eine gelungene Kombination aus funktionalem und objektorientierten Paradigmen ansehen lässt, durch die Java-Entwickler ein mächtiges Mittel zur parallelen Datenverarbeitung erhalten, und die überarbeitete JavaScript-Engine Nashorn, die das alte Rhino-Projekt ablöst und ECMAScript 5.1 berücksichtigt. Zusätzlich sind unter den aufmerksamer verfolgten Neuerungen der Bulk-Transfer für Collections, Concurrency-Updates, eine Date & Time API und das Entfernen der Permanent Generation zu nennen, wie jüngst in einer Studie zu Java 8 zu beobachten war.
In der Studie, die das maßgeblich in die Scala-Entwicklung involvierte Unternehmen Typesafe durchführte, war herausgekommen, dass zwei Drittel der knapp 3000 Befragten plant, ihre Java-Systeme innerhalb der nächsten zwei Jahre auf Java 8 zu aktualisieren. 54 Prozent will das Upgrade bereits innerhalb des nächsten Jahres durchführen und 29 Prozent will innerhalb der nächsten sechs Monate wechseln.
Nächste Woche will Oracle am 25. März noch ein großes Launch-Event nachschieben. In einem Webcast soll es Vorträge, Panel-Diskussionen, Chat-Möglichkeiten und einiges andere mehr geben. Die Übertragung soll auch auf der JavaLand-Konferenz gezeigt werden, der neuen Java-Community-Veranstaltung, die der Heise Zeitschriften Verlag mitorganisiert.
Siehe dazu auf heise developer:
(ane)