01.01 Java – Was ist das eigentlich?
Java ist eine Insel, eine Kaffeebohne, ein Tanz, eine Stadt in South Dakota und der Überbegriff für eine Technologie der Firma Sun Microsystems. Wie Sie sich sicher schon denken können, bezieht sich dieser Blog auf letzteres – der Softwaretechnologie mit besonderem Augenmerk auf die dazugehörige Programmiersprache. Aber zuerst ein bisschen Geschichtsunterricht:
- Java wurde in 18 Monaten (zwischen 1991 und 1992) entwickelt
- Der Hauptentwickler war James Gosling
- Ursprünglich sollte Java Oak (Eiche) heißen
- Der Name Java wurde von der Kaffeesorte abgeleitet, die die Entwickler gerne im Kaffee „Java-City“ konsumierten
- Es sollte neben einer Programmiersprache auch eine vollständige Betriebssystem-Umgebung entstehen (Was auch gelungen ist)
Weitere Informationen zur Entstehungsgeschichte von Java finden sich auf Wikipedia.
Kommen wir aber jetzt zum technischen Hintergrund von Java. Üblicherweise werden Programme für eine Plattform (Windows, Linux, MAC, Solaris, …) entwickelt. Dazu wird meistens das Programm in einer ausgewählten Programmiersprache programmiert, und mit einem entsprechenden Compiler für eine bestimmte Plattform kompiliert.
Wenn man ein Programm kompiliert, dann bedeutet dies, dass der für Menschen lesbare Quelltext in Byte-Code umgewandelt wird, welcher wiederum für Maschinen lesbar ist.
Dabei kommt dann z. B. eine .exe-Datei heraus, die ausschließlich auf Windows-Systemen verwendet werden kann. Anders schaut es aber bei Java aus. Java wird zwar auch kompiliert, aber später wieder auf dem Zielsystem interpretiert.
Von interpretierten Programmen spricht man dann, wenn der Quelltext unverändert belassen wird, aber ein zweites Programm den Quelltext analysiert und ausführt. Beispiele hierfür wären JavaScript oder VBScript.
Dadurch bietet sich ein enormer Vorteil – Ein Java-Programm wird genau einmal geschrieben und steht sofort auf allen Plattformen mit installierter Java Runtime Environment (JRE) zur Verfügung. Womit wir auch schon beim Ersten Nachteil von Java währen: Um ein Java-Programm auszuführen muss zwingend auf dem Zielsystem eine JRE eingerichtet sein (was aber auf die meisten Computer zutreffen sollte). Aber die Plattformunabhängigkeit hat noch einen weiteren Nachtei! Da jedes Betriebssystem etwas anders „tickt“, ist es in Java nicht so einfach (unmöglich ist es natürlich nicht) möglich Betriebssystem-spezifische Operationen auszuführen. Dazu gehören unter anderem der Zugriff auf die Hardware, System Ressourcen und spezielle Gegebenheiten wie die Registry unter Windows.
Einen Virus oder System-Utilities werden Sie in Java also wohl eher nicht programmieren. Dafür bietet Java aber für die meisten anderen Aufgaben eine exzellente Basis – Betriebssystem unabhängig, klar strukturiert, ausgezeichnete Fehlerbehandlung, einfach zu erlernen, leicht erweiterbar, logisch aufgebaut, kostenlos und vielfältig im Umgang mit Grafischen Benutzerschnittstellen. Außerdem ist Java auch eine Objekt-Orientierte-Programmiersprache. Aber was das heißt, erfahren Sie später.