Hallo Welt (1)
Von Menschen und Maschinen
Traditionell ist "Hallo Welt!" das erste Programm in einer neuen Sprache. So
sieht der Quellcode dieses Programms in
Java aus:
class HalloWelt {
public static void main(String[] args) {
System.out.println("Hallo Welt!");
}
}
Das einzige Problem ist: Ein Computer versteht von Hause aus überhaupt kein
Java (ebenso wenig wie C++, Pascal oder Basic).
Java ist eine höhere Programmiersprache, deren
Syntax (Satzbau) und
Semantik (Wortbedeutung) sich ans Englische
anlehnt.
Ihr Computer - oder genauer, seine CPU - versteht aber nur Maschinencode.
Den dürfen Sie sich etwa so vorstellen:
Jede (Hexadezimal-)Ziffer in diesem Code steht für eine
Kombination aus vier Nullen oder Einsen (Bit). Jeder Block von 8
Hexadezimalziffern (32 Bit) steht für einen Befehl,
den die CPU versteht, für Daten, mit denen
sie arbeiten soll oder für deren Adresse im
Hauptspeicher - oder für alles zusammen.
Sie merken sofort: Um sich direkt mit einer CPU zu unterhalten ist der
Mensch zu langsam und zu wenig zahlenbegabt. Deshalb hat er Werkzeuge (Assembler,
Interpreter und Compiler) entwickelt, die seine Programme von seiner Denkweise
in die Sprache der Maschine übersetzen. |
|
Unser Werkzeug heißt JDK (Java Development Kit).
Warum Java?
- Moderne Programmiersysteme setzen auf objektorientierte Programmierung.
Aus Klassen werden Objekte mit festgelegten Eigenschaften abgeleitet, die auf
Ereignisse reagieren und über Botschaften miteinander kommunizieren. Dieses
Konzept ist in Java konsequent verwirklicht.
- Die Syntax von Java lehnt sich eng an die Syntax der weit verbreiteten Sprache
C++ an. Wer Programme in Java lesen kann, versteht auch Programme in C++ oder
Scriptsprachen wie Javascript oder PHP.
- Java-Programme können nicht nur als normale Anwendung
ausgeführt werden, sondern auch als Applet in HTML-Seiten
eingebunden oder als WebStart-Programme übers Internet ausgeführt werden.
- Das typische Windows-Programm funktioniert nur unter dem Betriebssystem
Windows und dies gibt es nur für eine CPUs der x86-Reihe. Es gibt aber CPUs,
die nicht x86-kompatibel sind (Power-PC, RISC-Prozessoren) und es gibt außer
Windows auch weitere Betriebssysteme (Linux, Mac-OS, Solaris,...). Ein Java-Programm
ist in einer Vielzahl von Hardware- und Betriebssystemumgebungen lauffähig.
Voraussetzung ist, dass auf der ausführenden Maschine die JRE (Java
Runtime Environment) installiert ist.
Ist das JDK ein Interpreter oder ein
Compiler? Gute Frage...
- Ein Interpreter würde ein Programm wie das
oben abgebildete Hallo-Welt-Programm zeilenweise lesen, interpretieren, in Maschinensprache
übersetzen und an das Betriebssystem zur Ausführung weiterreichen. Interpreter
führen Javascript-Scrips aus, die in HTML-Seiten eingebettet sind oder Excel-Makros,
die in VBA-Code (Visual Basic for Applications) an die Tabelle angehängt wurden.
- Ein Compiler würde unser Hallo-Welt-Programm
ein für allemal in Maschinensprache übersetzen und als Hallo.Exe ausgeben. So
arbeiten Delphi- und C-Programmierer. Der Programmierer behält den Quellcode
und gibt nur den unverständlichen Maschinencode an den Benutzer weiter. Da der
Compiler jede Zeile nur einmal übersetzen muss und überdies den Code auch gleich
optimiert, kann ein EXE-Programm im Allgemeinen auch viel schneller sein als
ein interpretiertes Programm.
- Java arbeitet mit einer Kombination aus beiden Verfahren. Der Compiler
javac.exe im JDK übersetzt das Java-Programm
(Hallo.java) zunächst in einen so genannten
Bytecode (Hallo.class
bzw. Hallo.jar
oder auch Hallo.jnlp). Dieser Bytecode
wird dann auf der Maschine des Anwenders vom JRE java.exe
in den Maschinencode übersetzt, den dessen CPU und dessen Betriebssystem verstehen.
Auf der nächsten Seite erfahren Sie mehr darüber.
Und wo bekomme ich das alles? Vorzugsweise kostenlos?
- Die JRE (Java Runtime Environment ist wahrscheinlich auf Ihrem Computer
bereits installiert. Wenn Sie nicht sicher sind oder wenn Sie die JRE auf die
neueste Ausgabe aktualisieren wollen, dann gehen Sie zu
http://java.com und klicken Sie auf
Download.
- Das JDK (Java Development Kit), mit dem Sie selbst in Java programmieren
können, steht kostenlos unter
http://java.sun.com/javase/downloads/
bereit. Es reicht, wenn Sie das normale JDK (derzeit JDK 6 Update 14) herunterladen.
Mit Java FX (einer Plattform für Handy-Programmierung) werden wir uns einstweilen
nicht beschäftigen.
- Darüber hinaus brauchen Sie noch ein komfortable Programmierumgebung.
Die Firma Sun selbst bietet hierzu
NetBeans
an, unter Java-Programmierern noch weiter verbreitet ist
Eclipse. Da diese Umgebungen
aber sehr mächtig und zu für den Anfänger viel zu kompliziert sind, werden wir
vorläufig den übersichtlichen, aber ebenso komfortablen
Java-Editor benutzen, der sich äußerlich etwas an Delphi anlehnt. Eine Alternative
für die Schule, die aber einem völlig anderen Konzept folgt, ist
BlueJ.