Suche
@mobileLarson

JavaOne Tagebuch – Tag 0

Lars Röwekamp

„Celebrating 20 years of Java“, dieses Motto wird mir in den kommenden Tagen wohl noch des Öfteren begegnen. Kein Wunder, denn ich bin live auf der JavaOne in San Francisco und werde von dort täglich einen kleinen „Stimmungsreport“ liefern.

Java Developer Nightmares

Heute am Sonntag, also bereits ein Tag vor dem offiziellen Start der Konferenz, fand die Eröffnungs-Keynote statt. Wie nicht anders zu erwarten, wurden etliche Anekdoten der letzten 20 Jahre in Bild und Ton präsentiert. Besonders gut gelungen waren eingespielte Grüße diverser Sun Fellows aus der Gründerzeit. Allen voran der charismatische Scott McNealy, CEO und Mitbegründer von Sun, der es sich nicht nehmen ließ, einen kleinen, persönlichen Gruß in Richtung Oracle zu schicken. Im Rahmen seiner Top 10 – eigentlich waren es 12 – „Java Developer Nightmares“ nannte er an Position 4: „You love open source software and sharing, but you work at Oracle.“ Dieser Kommentar brachte wahrscheinlich während der gesamten Keynote mit Abstand die meisten Tweets ein. Für Interessierte: Einfach unter Mentions für @scottmcnealy nachschauen.

Im Rahmen des historischen Abrisses verdeutlichte Georges Saab, Vice President of Development, noch einmal, wie wichtig der Schritt von Java 7 zu Java 8 gewesen ist, und dass man mit Java 9 nun konsequenter Weise den nächsten wichtigen Schritt gehen möchte. Die Vorstellung von Java 9 bzw. deren wesentlicher Ausrichtung überließ er dann allerdings Mark Reinhold, Chief Architect der Java-Plattform. Reinhold betonte, dass es nicht das Ziel von Java sein könne, ein Potpourri von „coolen“ Sprachfeatures zu werden, nur weil andere Sprachen diese anbieten.

Java 9

Stattdessen geht es darum, mit jeder Version die Produktivität der Entwickler zu erhöhen. Zu diesem Zweck wird bei jeder neuen Version versucht, die wichtigsten „Painpoints“ zu beseitigen. Diese sind aus seiner Sicht aktuell das Classpath Handling und das monolithische JDK. Wie es der Zufall so will, hat Reinhold für beide Probleme auch gleich EINE passende Lösung parat. Das Zauberwort heißt „Modularisierung“ oder auch Jigsaw und ist zwar nicht mehr ganz neu, aber trotzdem ziemlich interessant. In einer kleinen Demo zeigte Reinhold, wie zukünftig Java-Projekte auf Basis von Jigsaw zusammengesetzt werden könnten, ohne dass es dabei zu Problemen mit nicht gefundenen oder doppelt vorhandenen Klassen kommen kann.

Klar ist, dass Jigsaw einen „big language change“ innerhalb von Java mit sich bringen wird. Wie schon zuvor bei den Generics möchte man daher einen Weg gehen, der es Java-9-Nutzern ermöglicht, neue Features zu nutzen, sie aber nicht dazu zwingt. Noch hat jeder von uns die Möglichkeit, Einfluss auf Jigsaw zu nehmen. Also am besten einfach einmal selbst anschauen – Feedback ist willkommen, so Reinhold.

Valhalla & Panama

Natürlich gibt es auch schon Pläne für die Iterationen nach Java 9. Zwei davon hat Brian Goetz, Language Architect for Java, heute erläutert. Da ist zum einen das Projekt Valhalla. Valhalla trägt unter anderem der Tatsache Rechnung, dass sich in den letzten 20 Jahren nicht nur Java als Sprache sondern auch die Ablaufumgebungen (Hardware) stark verändert haben. Konstrukte und interne Optimierungen, die vor 20 Jahren noch sinnvoll waren, sind es heute zum Teil nicht mehr. So schön Objekte auch seien mögen, so ineffizient sind sie bzgl. Memory-Bedarf und Caching.

Abhilfe soll hier ein neues Sprachkonstrukt namens Value Type bringen. Value Types kann man sich als eine Mischung aus vollwertiger Klasse und Primitiven vorstellen. „Code like a class, bevave like an int“, so Goetz. Optimal für den Speicherverbrauch und trotzdem noch mächtig in der Programmierung. Neben Valhalla ist Goetz noch kurz auf das Projekt „Panama“ eingegangen. Ziel von Panama ist es, dem Java-Entwickler den Zugang zu nativem Code deutlich zu vereinfachen. Dass dies einen echten Mehrwert mit sich bringt, wird sicherlich jeder bestätigen, der sich schon einmal mit JNI herumärgern durfte. Mit Hilfe eines Tools namens jextract werden aus C/C++ Headern Java-Klassen und Java-Interfaces generiert, gegen die der Entwickler direkt implementieren kann. Zumindest innerhalb der Präsentation sah das ganze sehr vielversprechend aus. Interessierte können sich unter http://openjdk.java.net/projects/panama/ auf dem Laufenden halten.

Die beiden anderen Säulen der Macht

Neben Java SE wurden im Rahmen der Keynote natürlich auch den anderen beiden „Säulen der Macht“– Java EE und Java ME (ja, das gibt es noch!) – Platz eingeräumt. Java EE 7 ist laut aktueller Statistiken mittlerweile am Markt angekommen und bzgl. der Installationen fast auf Augenhöhe mit Java EE 6. Diese Werte kann ich aus eigenen Projekterfahrungen durchaus bestätigen. Die Spezifikation von Java EE 8 ist voll im Gange – dazu in den nächsten Tagebucheintragungen mehr. Allerdings ist das Final Release erst für 2017 geplant. Gut Ding will scheinbar Weile haben. Hoffen wir mal, dass daraus am Ende nicht Langeweile wird. Java EE 8 stellt das Thema „Cloud & Ease of Use“ in den Fokus und bringt neben einigen API Updates mit MVC 1.0, Java EE Security 1.0 und JSON-Binding auch eine Reihe neuer APIs mit ins Rennen.

Last but not Least durfte Robert Clark, Senior Director of IoT, noch etwas zu Java ME sagen. Für alle, die es bisher noch nicht wussten: „The ‚M’ in ‚ME’ stands for Micro!“ und nicht für Mobile. Spätestens jetzt wird klar, warum nach einigen Jahren des gefühlten Stillstands Java ME bzw. Java ME Embedded, wie es in diesem Fall korrekt heißen müsste, plötzlich so viel Platz eingeräumt wird. „It’s all about connecting devices, generating data from this devices and generate value of this data – as we never did before.“, so Clark. Oracle erhofft sich mit der Kombination von Oracle Java ME Embedded und Internet-of-Things-Cloud-Services ein großes Stück des zukünftigen IoT-Marktes zu sichern.

One more thing…

Ach ja, da war ja noch was. Beziehungsweise, da war nichts! Während der gesamten Keynote wurde mit keinem Wort auf die Aussage eines Insiders eingegangen, die Anfang Oktober als „Oracle lost interest in Java“ durch die Online-Medien ging (siehe auch https://jaxenter.com/oracle-and-javas-planned-obsolescence-121144.html ).

Soweit mein erster Live-Report von der JavaOne. Ich freue mich schon auf die nächsten Tage. In diesem Sinne: Stay tuned …

Verwandte Themen:

Geschrieben von
Lars Röwekamp
Lars Röwekamp
Lars Röwekamp ist Gründer des IT-Beratungs- und Entwicklungsunternehmens open knowledge GmbH, beschäftigt sich im Rahmen seiner Tätigkeit als „CIO New Technologies“ mit der eingehenden Analyse und Bewertung neuer Software- und Technologietrends. Ein besonderer Schwerpunkt seiner Arbeit liegt derzeit in den Bereichen Enterprise und Mobile Computing, wobei neben Design- und Architekturfragen insbesondere die Real-Life-Aspekte im Fokus seiner Betrachtung stehen. Lars Röwekamp, Autor mehrerer Fachartikel und -bücher, beschäftigt sich seit der Geburtsstunde von Java mit dieser Programmiersprache, wobei er einen Großteil seiner praktischen Erfahrungen im Rahmen großer internationaler Projekte sammeln konnte.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: