robotik:lektion1:java [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion1:java

Experteninfo:

Java – eine „höhere“ Programmiersprache

Die CPU stellt gewissermaßen das Herz eines Computers dar. Hier werden Programmbefehle abgearbeitet und die nötigen Rechenoperationen mit unseren Daten vorgenommen. Dazu bietet eine CPU eine Reihe von Programmierbefehle an. Um eine CPU mit ihren eigenen Befehlen zu programmieren, sind aber sehr viele Detailkenntnisse erforderlich, mit denen sich kein normaler Mensch auseinandersetzen möchte. Auch sehen diese CPU-Prgramme sehr kompliziert aus. Ein fertiges CPU-Programm ist praktisch unlesbar.

Programme auf dem PC werden deshalb in den allermeisten Fällen in einer „höheren“ Programmiersprache geschrieben. Eine solche Sprache bietet Befehle auf einer Ebene, die für uns leichter zu verstehen ist und es uns erlaubt, auch komplexere Programmieraufgaben erfolgreich zu lösen. Bei den Programmdateien der höheren Programmiersprachen handelt es sich meist um einfache Textdateien, die man sich in einem normalen Editor anschauen kann. Damit die CPU ein solches Programm abarbeiten kann, muss es zunächst in die CPU-eigene Sprache übersetzt werden. Diese undankbare Aufgabe übernehmen für uns spezielle Programme, die sogenannten Compiler. Die meisten Compiler erzeugen aus dem Programmcode der Textdatei eine direkt vom Betriebssystem ausführbare Programmdatei (für einen Windows-Rechner wäre das eine EXE-Datei).

Java bildet in dieser Hinsicht eine Ausnahme. Zunächst schreibt man auch hier eine Textdatei mit den Programmbefehlen. Java-Programmdateien erkennt man ihrer Namenserweiterung <…>.java. Dann lässt man den sogenannten „Quellcode“ in der java-Datei vom Java-Compiler (für einen Windows-Rechner ist dies das Programm javac.exe) übersetzen. Aus einer Datei <Dateiname>.java erzeugt der Java-Compiler allerdings keine EXE-Datei sondern die Datei <Dateiname>.class. Diese Programmdatei wird aber nicht direkt vom Betriebssystem ausgeführt sondern von einem speziellen Programm, das man auch als „Java Virtual Machine“ bezeichnet. Auf einem Windows-Rechner ist dies das Programm java.exe. Die laufende Virtual Machine arbeitet dann die Befehle in <Dateiname>.class ab. Der gesamte Vorgang ist in der folgenden Abbildung dargestellt.

Übersetzen und Starten von Java-Programmen

Der Vorteil dieses Verfahrens besteht darin, dass die Programmdatei <Dateiname>.class auf verschiedenen Betriebssystemen wie Windows, Mac oder Linux ausführbar ist, weil für jedes Betriebssystem eine spezielle „Virtual Machine“ zur Verfügung steht. Klassische Compiler erzeugen dagegen Programmdateien, die nur auf einem Betriebssystem lauffähig sind. Ein Nachteil des Java-Verfahrens mit der Virtual Machine besteht darin, dass die Ausführung der class-Dateien in der Regel langsamer ist als diejenige von entsprechenden direkt ausführbaren Programmen. Auf heutigen PCs mit ihrer enormen Rechenleistung spielt dies aber für viele Anwendungen keine nennenswerte Rolle.

Zurück zur Java-Lektion

robotik/lektion1/java.txt · Zuletzt geändert: 2016/09/21 18:06 von gollnik