Interview mit Yoav Landman

Lambdas Top, Modularität Flop – Java 8 bei JFrog

Lucy Carey
Yoav Landman

Java 8 ist da – alles eitel Sonnenschein? Wir sprachen mit JFrog CTO Yoav Landman über die Bedeutung von Java 8 im Ökosystem. Kein Wunder, dass der Modularitätsexperte das Streichen des Projekts Jigsaw aus Java 8 bedauert.

JAXenter: Hat Oracle mit Java 8 gute Arbeit geleistet?

Yoav Landman: Nun, ich glaube, dass das Release ein ziemlicher Erfolg ist. Hauptsächlich wegen der sehr wichtigen neuen Features, ohne die es die Leute vermutlich zu anderen Sprachen treiben würde. Java war vielen etwas langweilig geworden und man beschwerte sich, Oracle würde zu wenig Innovation bringen. Mit Java 8 hat Oracle deshalb alles gegeben, um die Sprache voran zu bringen und den Entwicklern wieder Hoffnung zu machen – und letztendlich war Oracle damit erfolgreich. Die ganzen funktionalen Konstrukte, die der Sprache hinzugefügt wurden, sind ein großes Plus und eine willkommne Neuerung.

JAXenter: Gibt es etwas, das Oracle hätte besser machen können? Viele in der Community waren beispielsweise ein wenig verstimmt, dass Project Jigsaw es diesmal nicht in den Release geschafft hat.

Yoav Landman: Für uns war das auch ein wenig enttäuschend – hauptsächlich, weil wir größtenteils mit der Auslieferung und dem Management modularer Software zu tun haben. In Sachen Modularität hatten wir für etliche Bereiche große Hoffnungen. Doch jetzt könnte Oracle beim Thema Jigsaw den Zug verpasst haben. Wenn man eine so große Neuerung einführen will, muss man – solange man sich in einem bestimmten Ökosystem befindet – sicherstellen, dass der Rest des Ökosystems den Wandel mitträgt – insofern hoffe ich, dass es nicht zu spät dafür ist.

Mir ist bewusst, dass Oracle eine Menge Änderungen an der eigentlichen VM vorgenommen hat, um zu gewährleisten, dass sie modularer als bisher ist. Andere Systeme außerhalb der JVM versuchen aber die gleichen Probleme zu lösen, und bis jetzt kommen die Leute irgendwie damit klar. Ich hoffe trotzdem, dass es in Zukunft low-level Support in der JVM selbst geben wird, um die Isolierung zwischen den Modulen aufzuheben. Das wäre großartig, und es ist ein Stück weit enttäuschend, dass es diesmal noch nicht passiert ist.

JAXenter: Modularität bleibt für Java problematisch. Glauben Sie, dass das der Popularität der Plattform schaden wird, oder werden andere neue Features diese Probleme überspielen?

Yoav Landman: Ich glaube, dass die Modularitäts-Problematik etwas ist, woran sich die Leute einfach gewöhnt haben. Die Leute haben inzwischen so viele Ausweichmöglichkeiten gefunden, und das wird auch in Zukunft so sein. Mit den neuen Konstrukten –  den Lambdas, Default-Interface-Methoden und ähnlichen Sachen – hat man jetzt aber Features, die Java-Anhänger bisher immer an anderen Programmiersprachen beneidet haben und die dazu führten, dass sie sich fragten, ob sie nicht lieber umlernen sollten. Dadurch, dass Oracle diese Features jetzt eingeführt hat, wird Java, glaube ich, neuen Zulauf gewinnen.

JAXenter: Gibt es Ihrer Meinung nach irgendetwas an Java 8, das von der Community nicht angenommen werden könnte?

Yoav Landman: Für Leute, die von anderen Sprachen mit funktionalen Konstrukten kommen, z.B. Groovy, ist der Umstieg nicht ganz so schwierig. Ich sage bewusst „nicht ganz so“, weil man auch beim Programmieren in Java immer noch seine alten Gewohnheiten hat und die neue Syntax sich grundlegend unterscheidet. Um ehrlich zu sein, glaube ich sogar, dass Java 8 seit den Generics in Java 5 den größten Wandel in der Syntax markiert. Insofern wird es ganz sicher für viele Leute eine Herausforderung darstellen, sich an die neuen Sprach-Elemente und die neuen APIs im Kern des JDK zu gewöhnen.

JAXenter: Was bedeutet Java 8 für JFrog?

Yoav Landman: Wir haben zwei Arten von Produkten: Cloud-Produkte und Mobile-Produkte. Bei den Cloud-Produkten – vor allem bei Bintray – haben wir bereits in einigen der Komponenten mit Java 8 Features experimentiert. Für uns ist das ein einfacher Umstieg, da wir die volle Kontrolle über die Roadmap haben. Und wenn wir der Meinung sind, dass unser Code noch besser aussehen könnte oder coole neue Features oder neue Libraries haben sollte, können wir es einfach ausprobieren.

Bei Artifactory sind wir komplett in den Händen der Kunden, weil sie nicht so oft updaten, auch wenn es sich um Startups handelt. Als wir das letzte Mal von Java 6 nach Java 7 wechselten, brauchten die Leute ungefähr zwei Jahre, um den Umstieg auf der Serverseite nachzuvollziehen. Die Early Adopter wechselten etwa nach ungefähr sechs Monaten, aber alles in allem dauerte es rund zwei Jahre, bis Java 7 beliebter war als sein Vorgänger.

JAXenter: Stellt Java 8 eine ernsthafte Bedrohung für andere JVM-Sprachen dar, bei denen es sich teilweise Features geborgt hat?   

Yoav Landman: Da bin ich mir nicht sicher. Andere Sprachen, z.B. Scala, haben in dieser Hinsicht größere Vorteile. Doch viele Programmierer möchten, dass Sprachen sich weiterentwickeln, ohne die Rückwärts-Kompatibilität einzubüßen. Und bei Java ist das nicht der Fall.

Heute gibt es bei vielen Sprachen eine Art Erwartungshaltung, dass man beim Update der Libraries und beim Umstieg auf ein neues Framework eine ganze Menge an Refactorings vornehmen muss. Doch selbst wenn man die Dependencys nicht upgradet, wird der Code immer wieder überarbeitet. So gesehen ist es meistens in Ordnung, dass man bei einem Update Refactorings vornimmt. Auch bei Sprachupdates. Dadurch ist es möglich, dass die Sprache sich viel schneller weiterentwickelt.

JAXenter: Vielen Dank für dieses Gespräch!

Das Interview ist zuerst auf JAXenter.com in Englisch erschienen. Übersetzung: Selim Baykara

Yoav Landman is the CTO of JFrog, the Artifactory Binary Repository creators, and JavaOne 2011 Duke Choice Awards winner; Yoav laid the foundation to JFrog’s flagship product in 2006 when he founded Artifactory as an open source project. In 2008 he co-founded JFrog where he leads the future of products like Artifactory and, more recently, Bintray. Prior to starting up JFrog, Yoav was a software architect and consultant in the field of configuration management and server-side JVM applications. Yoav blogs at http://blogs.jfrog.org and http://java.net, and tweets as @yoavlandman.

Geschrieben von
Lucy Carey
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: