Struktur und Syntax


2.1 Allgemeines

Am Anfang möchte ich die wichtigsten Begriffe im Zusammenhang mit Java klären.

2.2 Unterschiede zu C++ und anderen Sprachen

Wenn man eine neue Programmiersprache entwickelt, muß man einerseits darauf achten daß sie leicht erlernbar ist, also bestehenden Strukturen ähnelt, andererseits die Fehler der "Ahnen" versucht zu vermeiden. Laut SUN Microsystems enstand Java aus den objektorientierten Sprachen C++, SmallTalk und Eiffel. Es sind aber auch Ähnlichkeiten zu NextStep und Oberon zu erkennen. Da jedoch C++, welche die meisten Parallelen zu Java aufweist, viel con Standard C geerbt hat, ist die Objektorientiertheit von C++ leicht zu umgehen; man kann also weitehin strukturiert Programme entwickeln. Java macht zwar teilweise Abstriche gegenüber anderen Programmiersprachen, besitzt aber auch Eigenschaften, die man in anderen Sprachen vergebens sucht ( Threads oder Ausnahmebehandlung ). Im wesentlichen gibt es 7 Unterschiede, auf die im Folgenden eingegangen werden soll. Andere Sprachen werden von einem Compiler/Linker-System direkt in ablauffähigen Code übersetzt. In Java wird der Quellcode vom Compiler Javac in Bytecode verwandelt. Dieser Bytecode wird über das Netz vom Server auf die Clients überspielt und dort von einer virtuellen Maschine ( oder virtuellem Prozessor ) interpretiert, sprich zeilenweise ausgeführt. Virtueller Prozessor und die Klassenbibliotheken bilden ein Laufzeitsystem. Dies ist auch der Grund dafür, das es in Java nicht die include-Anweisung gibt, weil es nicht nötig ist, den Objectcode des Programms und der Bibliotheken zusammenzubinden. Dies bewirkt einerseits, das zwar die turnaround-Zeiten ( die Zeit, die das Entwicklungssystem benötigt, um nach einer Änderung des Quellcodes wieder ein lauffähiges Programm zu erzeugen ) kürzer werden, die Ablaufgeschwindigkeit des fertigen Programms aber erheblich sinkt. Im Vergleich zu C oder C++ liegt der Faktor bei 10 - 20, SUN hat aber angekündigt, in Zukunft die Geschwindigkeit erheblich zu steigern.

2.3 Die "Entwicklungsumgebung"

Entwicklungsumgebung ist eigentlich das falsche Wort für das JDK ( Java Developers Kit ), da sich der Komfort auf DOS-Kommandos beschränkt. Wie unten erwähnt, gibt es allerdings auch schon richtige Oberflächen, welche die Arbeit wesentlich erleichtern.Im folgenden möchte ich die von SUN erhältliche "Entwicklungsumgebung" vorstellen. Sie enthält 5 Programme: