Technologien

Java, ist es wirklich schon so spät? In 22 Jahren von der Alpha zum Alphatier.

gepostet von am

Vor 22 Jahren betrat ein neuer Kandidat die Bühne der Programmiersprachen: Sun und Netscape stellten ihr Nesthäkchen Java der Weltöffentlichkeit vor. Inzwischen hat es sich der ehemalige Newcomer längst an der Spitze gemütlich gemacht.

Java feiert 22-jähriges Jubiläum
Happy Birthday, Java! Den Kuchen stellt next level, für den Kaffee sorgt Ihr selbst. Bilder: Oracle nach Wikimedia und frankes, bearbeitet von D. Martin.

Es gibt zwei Arten von Jubiläen: Die, die sich genau datieren lassen – sei es auf den Tag einer Geburt oder geschichtsträchtigen Unterschrift – und damit eine zeitnahe redaktionelle Würdigung einfach machen. Und solche, die sich dieser entziehen, indem sie einer unscharfen Linie aus inkrementellen Schritten folgen und eine Festlegung auf den einen Tag folglich schwer machen. Hier geht es um eines der letzteren: Im März 1995 veröffentlichte Sun Microsystems die erste Alpha seiner Programmiersprache Java. Oracle selbst, mittlerweile der Mutterkonzern, nennt als Datum dagegen den 23. Mai – an diesem Tag präsentierte man das “DOS of the Internet” zum ersten Mal der Öffentlichkeit.

Der Grundstein für die Entwicklung wurde bereits 1991 gelegt: Ein Team um Entwickler James Gosling werkelte im Auftrag von Sun Microsystems an einer Umgebung zur Ansteuerung von TV-Set-Top-Boxen. Die Basis des Ganzen: Object Application Kernel (kurz Oak), der Urvater von Java. Aus diesem Projekt ging bereits “Duke” hervor, seit Anbeginn das Maskottchen der Sprache. Im Gegensatz zum Duke streifte man die Bezeichnung “Oak” allerdings schnell wieder ab, war der Name doch bereits lizenzrechtlich vergeben – und auf die Neubenennung nach der Lieblings-Kaffeesorte konnte man sich auch schnell einigen.

Der Duke, das Java-Maskottchen
Von Anfang an dabei und damit alt wie eine Eiche: Der Duke. Bild: gemeinfrei.

Java als Innovator des Internets

Die Zusammenführung mit Mosaic, dem Netscape-Vorgänger, und schließlich die Implementierung in den Netscape Navigator selbst brachte Java dann den Durchbruch. Mit dem JDK gebaute, selbst lauffähige Applets ermöglichten ab 1996 die Einbindung von verschiedenster Software direkt in Websites. Mittlerweile stellen diese zwar ein großes Sicherheitsrisiko dar und werden so gut wie nicht mehr eingesetzt, damals war die Weiterentwicklung von Java jedoch gleichbedeutend mit der Weiterentwicklung des Internets. So konnte Java einige Innovationen für sich beanspruchen: etwa die Garbage Collection, ein restriktives Securitymodell, die Plattformunabhängigkeit des Codes und – vielleicht der wichtigste Punkt – die großflächige Etablierung objektorientierter Programmierung generell.

Indiz dafür ist nicht zuletzt die schnelle Adaption unter Enterprise-Nutzern zur damaligen Zeit. IBM und HP, aber auch Oracle sahen die klare Chance, mit einer Microsoft-Alternative die Dominanz der Redmonder zu durchbrechen. Diese selbst wiederum setzten auf eine angepasste Version. Andere Firmen (etwa SAP) dagegen sprangen erst später auf den Zug auf, als längst klar war, dass die neue Sprache gekommen war, um zu bleiben.

Nebenwirkungen des Erfolgs

Dennoch war die rasante Verbreitung ein zweischneidiges Schwert. Die starke Aufsplittung der Entwicklungen stand Kompatibilitätsstandards im Weg – Sun Microsystems sah sich gezwungen einzugreifen und klare Verhältnisse zu schaffen. Zusammen mit diversen anderen Unternehmen entwarf man 1998 den Java Community Process (JCP), um gemeinsame Spezifikationen zu etablieren. Die anschließende Spaltung in drei Plattformen für Mobile, Server und Desktop (J2ME, J2EE, J2SE) sollte als Konsequenz weitere Klarheit schaffen. Mit Erfolg: Mitte der 00er-Jahre durfte Java dann endgültig als etabliert gelten. Knapp 5 Millionen aktive Entwickler und über 2,5 Milliarden javafähige Geräte insgesamt (aufgeteilt in über 700 Mio. Rechner, ebenso viele Mobile-Devices sowie diverse andere Endgeräte) sprechen hier eine klare Sprache: Der Newcomer war zu einer festen Institution geworden.

Trotz alledem konnte man sich keinesfalls auf seinen Lorbeeren ausruhen, sondern musste sich in der Marktrealität ständig an neuen Lösungen versuchen. Denn gerade im Enterprise-Setting war die Plattform durch neue Updates träge geworden, Open Source-Wunderkinder wie Spring oder Hibernate präsentierten sich schlanker, effizienter und offener. Die Entwickler bei Sun wanderten zahlreich in die vielversprechende und spannender wirkende Richtung ab, das Unternehmen geriet durch den Quell an quelloffener Software in Zugzwang. Da war es nur konsequent, sich bei der Veröffentlichung von Java 6 am 11. Dezember 2006 selbst für eine teilweise Quellöffnung zu entscheiden. J2ME und das Technology Compatibility Kit (TCK) waren zwar weiterhin geschlossene Ökosysteme, Java selbst präsentierte man dennoch ab sofort als polyglotte Plattform. Als Programmiersprache stand Sie von da an nur noch als eine von mehreren JVM-Sprachen da, etwa Groovy und Scala.

Karrikatur JVM Sprachen
2006 wurde Java zur polyglotten Plattform, die Sprache selbst zum Mitglied einer großen Familie. Bild: DZone.

Das Orakel von der Übernahme

Die Auswirkungen dieser strukturellen Änderungen sollten sich jedoch in Grenzen halten, Version 6 blieb vorerst die letzte. Durch Übernahmegerüchte gehemmte Innovationsfreude und Fehleinschätzungen einer geplanten modularen Neuausrichtung führten zum Verlust der Pole Position im Mobilmarkt gegenüber Apple und Google. Letztere setzten mit Android dennoch auf eine javabasierte Lösung, die mit einer 90%-igen Durchdringung aller Smartphones eine weiterhin starke Verbreitung im Mobilmarkt (indirekt) bedingt.

Als sich die befürchtete Übernahme mit Oracles Eingreifen 2010 schließlich bewahrheitete, war klar, dass Version 7 weiter auf sich warten lassen würde. Ein Jahr später war es dann endlich soweit, trotz der Abwanderung des Kernteams samt Gosling selbst. Mit Klärung der dadurch entstandenen Roadmap-Irrungen und -Wirrungen geriet die Entwicklung wieder ins Rollen. Lange überfällige Features (allen voran Lambda-Expressions) hielten anschließend Einzug ins immer noch aktuelle JDK 8. Und wie geht es weiter? Das JDK 9 befindet sich zur Zeit in der Early Access-Phase. Wenn alles nach Plan läuft, steht das Final Release am 27. Juli ins Haus. Das lange nicht gehaltene Versprechen eines Modulsystems soll hiermit endlich eingelöst werden.

Entwickelt, um zu bleiben

Immer noch ist Java eine Sprache, die sich aus dem Computer-Alltag kaum wegdenken lässt: Oracle selbst nennt imposante Zahlen: mehr als 9 Millionen aktive Devs, 97% Durchdringung von Enterprise-Systemen, mehr als 3 Milliarden javabasierte Mobiltelefone. Auch bei den Programmiersprachen-Indizes wie RedMonk und TIOBE hält Java wacker die Führung. – Deren uneingeschränkte Aussagekraft darf natürlich angezweifelt werden, aus dem Weg gehen kann man Java allerdings kaum. So überrascht es nicht, dass Entwickler mit Java-Skills zu den gefragtesten IT-Spezialisten auf dem Markt zählen. Und das wird sich unserer Einschätzung nach auch erst einmal nicht ändern. Grund genug, dieser Sprache und ihren Native Speakern zum 22. Geburtstag einmal alles Gute zu wünschen – egal, ob man diesen nun im März oder Mai feiert! ;-)