Samstag, 11. Februar 2012 |
| |
Java 6 - Codename Mustang - ist nach über zwei Jahren Entwicklung letzte Woche final veröffentlicht worden. Aus diesem Anlass präsentieren wir Ihnen sukzessive aufeinander folgend die interessanten Meinungen unserer Java Magazin-Autoren.
Heute steht uns Jens Schumann Rede und Antwort. Der langjährige Java Magazin-Autor und JAX-Speaker ist Software-Architekt bei dem IT-Beratungs- und Entwicklungsunternehmen OpenKnowledge.
Jens, wie siehst du die neue Version von Java? Ist sie für dich mehr als nur ein Maintenance-Release zu Java 5, wie oftmals im Vorfeld geäußert wurde?
Jens Schumann: Auch wenn das neue JDK 6.0 für die meisten nicht den ganz großen Wurf darstellt, sollte man natürlich erst einmal dem Entwicklerteam gratulieren. Nach vielen Monaten Arbeit ist die Plattform in einem relativ festen Zeitrahmen weiterentwickelt worden, ohne dabei die Stabilität und Robustheit zu gefährden. Hier zahlt sich der neue Ansatz von Sun, JDK-Versionen in festen Intervallen zu veröffentlichen, auf jeden Fall aus.
Aber in der Tat halten sich die Neuerungen - speziell außerhalb der Java-GUI-Programmierung - wirklich in Grenzen. Vernachlässigt man den Scripting Language Support und diverse andere Kleinigkeiten, so wird deutlich: Das JDK 6.0 ist im Wesentlichen ein Maintenance Release. Es bleibt daher abzuwarten, ob mit API- und Performanceverbesserungen allein Akzeptanz zu erreichen ist.
Wirklich enttäuscht bin ich über die vergleichsweise schwach ausgefallenen Aufräumarbeiten in diesem Release. Frühe öffentliche Diskussionen hatten die Hoffnung keimen lassen, Sun würde endlich das JRE- und JDK-Featureset reviewen und Überflüssiges entfernen. Mit dem Ausschluss des MIDI-Supports ist sicherlich ein erster wichtiger Schritt getan, dem hoffentlich weitere folgen werden.
Doch bei aller Kritik: Ein großes Lob gilt der verstärkten Einbindung der Java-Community in den Entwicklungsprozess. Was zu Zeiten des JDK 5.0 mit der Bereitstellung eines Vorabreleases im Rahmen des CAP-Programm begann, hat sich dank frei verfügbarer JDK Builds zu einer wertvollen Feedbackschleife entwickelt. Laut Sun konnten so durch Feedback der Community mehr als 180 Bugs identifiziert und behoben werden. Weiter so!
Was vermisst du bzw. wo siehst du Nachholbedarf?
Schumann: Ich persönlich bin immer wieder überrascht, dass verschiedene Themen trotz großem Interesse nicht binnen 15 Monaten in ein Java-Release aufgenommen werden können. Ein Beispiel sind Closures: Obwohl schon seit langer Zeit diskutiert, scheinen sie den gleichen steinigen Weg wie Java Generics zu gehen, was eine Verfügbarkeit ab JDK 9.0 erahnen lässt ;).
Gleiches gilt für das Java Persistence API. Aus meiner Sicht hätte JPA unbedingt in das JDK 6.0 aufgenommen werden müssen - vor allem, um mit den Vorurteil aufzuräumen, es handelt sich bei hierbei um einen reinen Java EE-Standard. Nun werden wir weitere 12 bis 15 Monate offiziell einen Java EE- und keinen Java SE-Persistenzstandard haben - ohne technologische Begründung wohlgemerkt.
Mit Wehmut sehe ich auch die regelmäßige Verschiebung des Isolation API, das im Prinzip schon für Java 5.0 versprochen wurde und dessen Zukunft zum heutigen Tage eher ungewiss ist. Dank der Multi-Tasking Virtual Machine (MVM) scheint in diesem Feld tatsächlich noch Bewegung zu existieren - hoffentlich mit Ergebnissen im JDK 7.0.
Was gibst du den nächsten Java-Versionen mit auf den Weg?
Schumann: Die neue JDK-Version zeigt deutlich, dass die aktive Einbindung der Java-Community in den Entwicklungsprozess - auch ohne Open-Source-Lizenz - wirklich gut tut. Hier kann man Sun nur bestärken, die bisherigen Aktivitäten beizubehalten oder besser noch auszubauen.
Was die eigentliche Weiterentwicklung von Java betrifft, so halte ich einen Feature Review für zwingend notwendig. Denn so langsam wird es wirklich Zeit, den einen oder anderen Deprecated-Zopf abzuschneiden und zu hinterfragen, inwieweit dieses oder jenes Feature wirklich in einem JDK bzw. einer JRE vorhanden sein muss. Vielleicht beginnt man ja einfach mal mit den Klassen Date oder Thread ;).
Sehr schön wäre auch, wenn Sun die Virtual Machine als Laufzeitumgebung begreift, die deutlich mehr kann, als "Java-Code ausführen". Prinzipiell sind die Vorraussetzungen geschaffen, die VM auch als Plattform für andere Sprachen auf breiter Front einzusetzen, einzig die Unterstützung seitens Sun fehlt. Wie wäre es denn mit einem Zugpferd Groovy, dass die Vorzüge der VM für alle anderen transparent erscheinen erlässt?Vielen Dank für die Beantwortung der Fragen.