Wie sich Java in 25 Jahren weiterentwickelt hat und was das für Entwickler bedeutet

7. Januar 2021 Initiativen/Trends

Sun Microsystems stellt Java 1996 vor. In den letzten 25 Jahren hat sich das ganze Ökosystem in vielerlei Hinsicht verändert. Dieser Beitrag dokumentiert die Änderungen von Java und welche Auswirkungen der Wandel auf die Softwareentwicklung hat. Dabei sollte uns immer bewusst sein, dass Java aus drei Säulen besteht: der Programmiersprache, der Standardbibliothek und der Laufzeitumgebung. In allen drei Bereichen gibt es immer wieder Änderungen, mal eher an den Bibliotheken, mal an der Laufzeitumgebung, dann wieder an der Sprache.

Die zentrale Eigenschaft von Java, die bis heute gilt, ist die Plattformunabhängigkeit. Der Java Compiler generiert aus Quellcode Bytecode, der dann von virtuellen Maschinen (JVM) ausgeführt wird. In den Anfangszeiten war die Laufzeitumgebung ein reiner Interpreter und so sind auch einige Design-Entscheidungen zu erklären. So gibt es in Java die Unterscheidung zwischen primitiven Datentypen und Referenztypen, was heute zu unschönen APIs führt (Predicate, IntPredicate, LongPredicate, …). Dieser Fehler ist kaum zu korrigieren. Dabei wäre es auch anders gegangen: Smalltalk z. B. ist eine reine objektorientierte Programmiersprache, in der auch numerische Werte Objekte sind. Eigentlich möchte man nie Kompromisse eingehen bei Problemen, die heute noch nicht lösbar sind, aber in der Zukunft. Daher ist diese Trennung sehr unglücklich, aber Entwickler müssen damit leben. Details