In diesem Artikel wird erklärt, was wir tun müssen, um mit der Programmiersprache Java arbeiten zu können und wie ein Benutzer unsere erstellen Programme verwenden kann.
Java
Wie bereits erklärt, kann ein Computer im Grunde nur seine Ur-Sprache, die Maschinensprache, verstehen. Alle anderen Programmiersprachen können nur deshalb funktionieren, weil sie wieder in Maschinensprache übersetzt werden. Der Computer wird im Inneren also nie die Java sprechen können. Java dient uns Programmierern nur als Hilfsmittel, weil Java eine schöne und logisch aufgebaute Sprache ist. Die Maschinensprache wiederum ist komplex und unleserlich. Deshalb schreiben wir unsere Programme mit Java lassen diese dann in Maschinensprache übersetzten. So haben wir hinterher ein Programm, das der Computer verstehen kann, ohne dass wir Programmierer selbst die Maschinensprache verstehen müssen.
Auch haben wir gelernt, dass es bei der Erstellung eines Programms zwei Gruppen von Personen gibt. Die einen erstellen (programmieren) das Programm: die Entwickler. Die anderen benutzen das Programm: die Benutzer. Das Übersetzen eines Programms in Maschinensprache ist Aufgabe des Programmierers. Ein Benutzer kann mit dem Programm nur in bereits übersetzter Maschinensprachen-Form etwas anfangen, weil sein Computer nur diese Sprache spricht. Keine Angst, das Übersetzten muss nicht von Hand gemacht werden. Dafür bekommt der Programmierer alles Notwendige an die Hand, man denke an den Werkzeugkoffer auf der grünen Wiese. Das dauert bei kleineren Programmen nur wenige Sekunden. Diese Werkzeuge, um als Programmierer mit Java zu arbeiten, fehlen im Normalfall auf einem herkömmlichen Benutzer-Computer und müssen deshalb noch installiert werden. Darum geht es in diesem Artikel.
Die Übersetzung
Bei Java (wie auch bei anderen modernen Programmiersprachen) gibt es noch eine wichtige Besonderheit: Auch zum Starten von Programmen, die mit Java erstellt wurden, muss auf dem Computer noch etwas installiert werden, sofern das nicht schon getan wurde. Warum ist das so? Weiter oben habe ich erklärt, dass Programme in einer bestimmten Programmiersprache (bei uns Java) vom Programmierer in Maschinensprache übersetzt werden, und dass dieses übersetzte Programm von einem Benutzer, bzw. dessen Computer direkt verstanden werden kann, weil der Computer Maschinensprache versteht. Das ist auch richtig. Bei Programmiersprachen wie beispielsweise C, C++ und Pascal wird es genau so gemacht.
Tatsache ist aber, dass Java-Programme nicht auf direktem Weg in Maschinensprache übersetzt werden, sondern erst über einen Umweg in eine so genannte Zwischensprache. Das Programm wird in dieser Zwischensprache an den Benutzer gegeben. Dieser braucht dann wiederum auch ein Werkzeug, um den zweiten und letzten Übersetzungs-Schritt von der Zwischensprache zur Maschinensprache zu gehen. Das hört sich komplizierter an, als es tatsächlich ist. In der Realität bekommt der Benutzer von diesem zweiten Übersetzungs-Schritt überhaupt nichts mit. Wenn er ein Programm starten möchte, das mit Java erstellt wurde, geschieht das, wie bei jedem anderen Programm auch, vermutlich über den Doppelklick auf ein Icon auf dem Desktop oder aus einem Programm-Menü heraus. Für ihn unsichtbar wird nun die Übersetzung von Zwischensprache in Maschinensprache vollzogen.
Als kleinen Blick über unseren Java-Tellerrand möchte ich erklären, dass sich die Programmiersprachen in dieser Hinsicht so in drei Gruppen einteilen lassen. Erstens Sprachen wie C, C++, Pascal und viele weitere, die komplett fertig in Maschinensprache übersetzt an den Benutzer gegeben werden. Des Weiteren Sprachen wie Java und die .NET-Sprachen von Microsoft, die in Form einer Zwischensprache beim Benutzer ankommen und dort in einem zweiten Schritt in Maschinensprache übersetzt werden. Die dritte Gruppe von Programmiersprachen wurden bisher noch nicht erwähnt. Hierzu zählen beispielsweise BASIC, PHP und noch einige mehr. Diese Sprachen werden überhaupt nicht übersetzt, sondern landen unübersetzt beim Benutzer. Erst beim Starten des Programms auf dem Benutzer-Computer findet eine Übersetzung statt.
Jede dieser drei Gruppen hat durch ihre ganz einzigartige Technik Vor- und Nachteile, die sich im Laufe der Zeit als Programmierer noch herausstellen werden. Nur so viel sei gesagt: Java, sowie auch die .NET-Sprachen, geht mit dem Zwischenschritt der Übersetzung zu einer Zwischensprache einen gut ausbalancierten Mittelweg.
JRE oder JDK
Für diese beiden Anwendungsgebiete im Java-Umfeld, für Benutzer oder Programmierer, gibt es zwei unterschiedliche Pakete, die auf einem Computer installiert werden können: JRE oder JDK.
JRE steht ausgeschrieben für Java Runtime Environment (Java Laufzeitumgebung). Die Laufzeitumgebung ist banal ausgedrückt eine Umgebung, um Java-Programme laufen zu lassen, also zu verwenden. Genauer ausgedrückt kann die JRE Programme, die in der Java-Zwischensprache vorliegen, in die Maschinensprache übersetzen. Folglich ist die JRE das Modul für Benutzer.
JDK bedeutet Java Development Kit (Java Entwickler-Austattung). Wie der Name hier schon genau ausdrückt, ist das JDK die Austattung, die ein Java-Entwickler braucht. Es enthält die Funktion, Java-Programme in die Java-Zwischensprache zu übersetzen, die dann an Benutzer weiter gegeben werden kann.
Weil die Entwickler auch gleichzeitig die Benutzer ihrer eigenen Programme sind, ist es nur logisch und sinnvoll, dass die Entwickler-Austattung auch eine vollwertige Laufzeitumgebung enthält. Installiert man also ein JDK, ist eine JRE automatisch mit dabei.
JDK installieren
Sowohl die JRE, als auch das JDK, kann ganz einfach installiert werden. Die genaue Installations-Vorgehensweise ist allerdings von Betriebssystem zu Betriebssystem unterschiedlich.
Ab hier kommt es in dieser Artikel-Serie öfters vor, dass sich Erklärungen und Beschreibungen von einem Betriebssystem zum anderen unterscheiden. Drei Gruppen von Betriebs-Systemen werden berücksichtigt: Windows, Linux und MacOS. Die betreffenden Stellen mit unterschiedlichem Inhalt werde ich farblich markieren. Windows bekommt die Farbe blau, Linux und MacOS teilen sich die Farbe grün. Das hat den Grund, dass viele Erklärungen, jedoch nicht alle, für Linux und MacOS zusammengefasst werden können.
Natürlich reicht es, nur den Text des eigenen Betriebssystems zu lesen. Schaden kann es aber sicher nicht, zumindest ab und zu einmal in die anderen Betriebssysteme rein zu schnuppern. Zu neugierig kann man beim Programmieren eigentlich nie sein.
Und hier haben wir schon den ersten Fall:
| Windows | Für Windows-Betriebssysteme gibt es einen JDK-Download (natürlich auch einen JRE-Download) auf der Oracle Internet-Seite im Bereich Java-Downloads. Java wird aktuell von der Firma Oracle verwaltet. Dieser Download muss lediglich auf dem Computer installiert werden. Danach ist der Computer für die Software-Entwicklung mit Java ausgestattet. |
| Linux | Auch für Linux-Betriebssysteme gibt es einen JDK-Download bei Oracle. Bei verbreiteten Linux-Varianten wie Ubuntu, Debian, openSUSE, Fedora und weiteren würde ich allerdings die Installation über eine Paketverwaltung empfehlen. Bei Ubuntu beispielsweise bietet sich hier das Software-Center oder für fortgeschrittene Benutzer “synaptic” oder “apt” an. |
| MacOS | Ähnliches gilt für MacOS-Betriebssysteme, wo das JDK über die Funktion “Software Update” installiert werden kann. |
Fazit
Wir haben Java auf unserem Computer installiert, und zwar die Variante von Java, mit der wir neue Programme erstellen können (JDK), nicht nur bereits bestehende Programme starten (JRE).