Große Verantwortung: Brian Goetz über Javas Vergangenheit und Zukunft

Claudia Fröhling

„Das tolle an meinem Job: ich habe neun Millionen Assistenten!“ So startete Java Language Architect Brian Goetz seine Eröffnungs-Keynote auf der JAX 2014 in Mainz. Brian nahm die Teilnehmer mit auf eine Reise durch die Vergangenheit über die Gegenwart bis hin in die Zukunft von Java.

Past

Als 1995 die Geschichte von Java begann, waren Fortran und C die beherrschenden Sprachen in der IT-Welt. Um sich von dieser Community abzusetzen, wollte Java eine „blue-collar language“, also eine Arbeiter-Sprache im Gegensatz zu „ivory tower“ Sprachen werden.

Besonders interessant ist für Goetz der Mix aus riskanten und konservativen Features, die Java damals implementierte. Features, die sich damals noch nicht in der realen Welt bewiesen hatten, wie Garbage Collection oder JIT. Aber fast alle riskanten Features bezogen sich auf die Virtual Machine. James Gosling soll Goetz einmal verraten haben: Die Kunden wollten all diese riskanten Features, aber damals haben die Sprachen, die diese Features hatten, den Kunden vor allem Angst gemacht.

Brian Goetz (Quelle: S&S Media)

Present

Der Mix damals hat sich bezahlt gemacht: Heute ist Java auf drei Milliarden Geräten und neun Millionen Entwickler programmieren Java. Für Goetz sind das nicht nur Marketing-Zahlen, die Werbung für die Sprache machen sollen. Für ihn bedeuten diese Zahlen eine Herausforderung, der das Java-Language-Team jeden Tag aufs Neue gerecht werden muss; eine hohe Verantwortung, die auf dem Team lastet. Kompatibilität, Sicherheit muss gewährleistet sein, produktiver Code darf nicht plötzlich Fehler produzieren. Gleichzeitig muss Java auf die Veränderungen in der Welt reagieren, seien es Veränderungen in der verfügbaren Hardware, seien es demographische Veränderungen usw. Wie heißt es so schön: With great power comes great responsibility.

„Wäre Java ein Land, dann wäre es – bezogen auf Einwohnerzahl und Bruttoinlandsprodukt mit Schweden vergleichbar,“ beschreibt Goetz die Herausforderung, die Javas Erfolg mit sich bringt.

Der Vergleich macht Sinn, und auch seine nächste These klingt einleuchtend: „Reading code is more important than writing code.“ Je leichter Java lesbar is, desto besser. Denn wen Entwickler mal Code lesen müssen, dann meist unter Stress auf der Suche nach einem Bug. Der Erfolg misst sich also an der Produktivität des Entwicklers.

Und das war auch das Ziel hinter Java 8: die Produktivität der Entwickler erhöhen, dank einem einfachen Programmiermodell. Das Ergebnis sind Features wie Lambdas, Methodenreferenzen und das java.util-stream Package (siehe auch unsere große Java-8-Serie hier auf JAXenter).

Java wurde mit Version 8 bis zu einem gewissen grad funktional, aber das wird von Oracle freilich nicht in den Mittelpunkt gestellt. „Don’t use the F-Word“ ist der geflügelte Satz im Oracle-Büro, scherzt Goetz.

Future

Java 8 war ein wichtiger Schritt, aber was kommt als nächstes? Goetz sieht einige Pain Points wie Boxing, Earsure, Array-Probleme und mehr, die als nächstes angegangen werden müssen. Value Types ist das nächste großes Ziel, verrät er in der Keynote. Die seien „like classes, but without identity“. Die Modularisierung von Java spricht er nicht an, aber am Ende der Keynote ist auch wenig Platz übrig geblieben. Sein Fazit: Vor fünf Jahren noch wurde Java für tot erklärt, SUN hatte nicht genug Energie, um die Sprache voranzutreiben. Heute ist Java stärker, stabiler und gesünder als je zuvor. Die Arbeit ist für Brian Goetz und sein Team aber noch lange nicht zu Ende.

Geschrieben von
Claudia Fröhling
Claudia Fröhling
Claudia Fröhling hat in verschiedenen Redaktionen als TV- und Onlineredakteurin gearbeitet, bevor sie 2008 zur Software & Support Media GmbH kam und sich bis 2014 um alle Projekte des Verlages im Ressort Java kümmerte. Claudia hat einen Abschluss in Politikwissenschaften und Multimedia Producing. Ihr Google+ Profil findest du hier.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: