Im Jahr 1995 veröffentlichte Sun Microsystems Java 1.0 – eine objektorientierte Programmiersprache mit dem Motto „Write once, run anywhere“. 30 Jahre später sind wir (fast) bei der Version 25 angelangt.
Die erste Version bot grundlegende Klassenbibliotheken und Applet-Unterstützung. Die Einführung der drei Plattformen J2SE, J2EE und J2ME machten die Sprache modularer und fokussierte sie neben Standalone-Umgebungen auf Enterprise-Anwendungen und mobile Geräte.
Wesentliche Meilensteine waren die Veröffentlichungen von Java 5 im Jahr 2004 mit Spracherweiterungen wie Generics, Enums, Annotations sowie diversen Syntax-Verbesserungen und Java 8 in 2014 mit den funktionalen Programmierkonzepten Lambdas und Streams sowie neuen Klassen für Datum und Uhrzeit.
Mit Java 9 (2017) wurde ein neuer Release-Zyklus eingeführt. Statt wie bisher im Abstand von 3-4 Jahren eine Version mit vielen Neuerungen zu veröffentlichen, gibt es seitdem halbjährliche Releases mit vergleichsweise überschaubaren Änderungen. Oracle änderte damals auch seine Lizenzbedingungen. Schien es anfänglich so, dass Java nicht mehr kostenfrei erhältlich sei, führte das in der Folge zu einer starken Diversifizierung der Angebote, darunter auch sehr viele ohne Nutzungsgebühren. Inhaltlich führte Java 9 das Modulsystem ein, was i. W. dazu dient, die Standardbibliotheken zu entflechten.
Java 11 war die erste LTS-Version im neuen Modell. Für die Long-Term-Support-Versionen verpflichten sich die Anbieter, Patches u. a. für Security über viele Jahre auszuliefern, während die Zwischenversionen ohne Support-Vertrag nur 6 Monate lang aktuell gehalten werden. Jedes sechste Release sollte eine LTS-Version sein, was eine LTS-Kadenz von 3 Jahren ergab. Mittlerweile – seit Java 21 – ist dies auf 4 Versionen bzw. zwei Jahre verkürzt worden.
Die Versionen 11 bis 25 brachten eine große Menge von Verbesserungen der Sprache und der Standardbibliothek mit sich, u. a. lokale Typinferenz, Textblöcke, Switch Expressions, Records, Pattern Matching, Sealed Classes, Virtual Threads. Durch diverse Optimierungstechniken wie verbesserte Garbage Collection, JIT- und AOT-Compilierung war und ist Java eine der effizientesten Sprachen: In der Energieeffizienz der häufig genutzten Sprachen liegen nur C, C++ und Rust weiter vorn. JavaScript ist deutlich schlechter und Python regelrecht abgeschlagen.
Java hat sich von einer Web-orientierten Sprache zu einer modernen und leistungsfähigen Basis für Unternehmenssoftware entwickelt. Java ist trotz seines Alters innovativ, lebendig und zukunftssicher.
„Happy Birthday, Java“ und alles Gute für die nächsten 30 Jahre!