Mrz 22, 2020

Java feiert das 25-jährige Jubiläum

Die Programmiersprache Java wurde 1995 zur Welt gebracht und eroberte seitdem die Herzen von Millionen von Programmierern. Wie hat Java das geschafft? Warum erschien noch keine andere Programmiersprache, die Java ablösen und ihre führende Position und Popularität annehmen könnte? Um auf diese Fragen beantworten zu können, muss man sich das Konzept von Java genauer anschauen.

Die folgenden Qualitätsmerkmale hat Sun Microsystems in der Programmiersprache für den potenziellen Erfolg von Java-basierten Anwendungen eingebaut:

  • Einfachheit und Verständlichkeit
  • Objektorientierung (OOP)
  • Kontinuität und Tradition (die von C/C++ stammende Syntax)
  • Portabilität, Plattformunabhängigkeit und Virtualisierung
  • Hohe Leistung
  • Interpretierbarkeit, Threading und Dynamik
  • Zuverlässigkeit und Sicherheit

Einfachheit

Das Lesen und Verstehen eines Java-Codes sind unkompliziert. Im Vergleich mit Python, Groove oder Go zeichnet sich Java nicht unbedingt als die einfachste Programmiersprache der Welt aus. Trotzdem gibt es wichtige Gründe, warum Java so populär ist und die Aufmerksamkeit von C/C++ Entwicklern an sich gezogen hat.

Zuverlässigkeit

Die Zuverlässigkeit wird durch zwei Grundprinzipien unterstützt:

  • OOP – Die Vererbungshierarchie erhöht die Lesbarkeit des Codes und verringert Redundanz und Anzahl der Programmierfehler.
  • Strikte Datentypen – Der Entwickler muss mehr Aufmerksamkeit leisten, aber die Daten sind eindeutig interpretierbar.

Nach dem Konzept verbietet Java direkte Speicherzugriffe, was auch die Zuverlässigkeit erhöht. Jedoch haben die Java-Autoren einige Lücken hinterlassen, wie beispielsweise die Hintertür sun.misc.Unsafe, die dieses Verbot umgehen lässt. Dieser Low-Level-Mechanismus sollte nur von der Java-Kernbibliothek und nicht als eine Programmiertechnik verwendet werden.

Sicherheit

Neben der Beibehaltung der allgemeinen Form von Sprachkonstrukten hat Java im Vergleich zu C++ zwei potenzielle Risiken ausgeräumt: Zeiger und Mehrfachvererbung. In Wirklichkeit sind die beiden Features vorhanden, aber in einer anderen Form. Anstelle von Zeigern werden Werte verwendet, und die Mehrfachvererbung ist nur den Schnittstellen (Interfaces) erlaubt. Das eliminiert mögliche Schäden durch Unaufmerksamkeit und Fehler des Entwicklers.

Benutzerfreundlichkeit

Wörtlich lautet das Java-Konzept: Einmal schreiben, überall ausführen. Der ausführbare Code hängt nicht vom Betriebssystem oder der installierten Software ab. Dies wird in der JVM-Maschine durch die Übersetzung in den virtuellen Bytecode möglich.

Die Virtualisierung des Codes hat sich insbesondere unter Android als praktisch erwiesen. Eine Vielzahl von Herstellern, Standards, Spezifikationen und Smartphone-Modellen könnte den Betrieb von Anwendungen beeinträchtigen, wenn nicht ein solches universelles JVM-Werkzeug vorhanden wäre.

Leistung

Die Übersetzung in Bytecode bedarf keines Objektcodes und wirkt positiv auf die Leistung der Anwendung. In Bezug auf die Performanz ein und desselben Algorithmus ist ein Java-Programm ähnlichen Programmen in C/C++ eineinhalb- bis zweimal unterlegen, überholt jedoch JavaScript, Python und Ruby.

Java feiert das fünfundzwanzigjährige Jubiläum im Kreis von Freunden, ist immer noch jung, beliebt und genauso begehrt wie cake pops auf einer Geburtstagsfeier. Insbesondere bei jungen Entwicklergenerationen findet Java viele Anhänger und Verehrer. Java hat sich zu Dutzenden von Frameworks und IDEs, Hunderten von Foren und Communities, Tausenden von Bibliotheken und Plug-Ins entwickelt. All dies wirkt positiv auf die Qualität und Popularität von Java-basierten Softwareprodukten.

Wie auch andere Programmiersprachen ist Java einzigartig, hat eigene Vor- und Nachteile sowie eine große virtuelle Fangemeinde. Obwohl Java-Instrumente nicht besonders spektakulär sind, sind sie konsistent, effizient, benutzerfreundlich und nützlich. Genau das unterscheidet eine gute Programmiersprache wie C/C++ von einer noch besseren wie Java.