next up previous contents index 6163656769
Next: A.2.1 Wie werden Übersetzer Up: A. Wie werden Programme Previous: A.1.6 Was ist ein   Contents   Index


A.2 Die echten Programmiersprachen

Es lohnt sich heute auf gar keinen Fall mehr, Assembler zu lernen. Das werden wir gleich sehen! Der grösste Nachteil des Assemblers besteht darin, maschinenabhängigen (hardwareabhängigen) Code zu erstellen. Wer also sein für einen Macintosh geschriebenen Code auf einem PC verwenden will, kann das ganze Programm noch einmal neu verfassen. Assemblercode ist nicht portierbar. Die Entwickler machten aus der Not eine Tugend und begannen die Programmierung von der Hardwareebene loszukoppeln und zwar in folgender Weise:

Was ist damit gewonnen? Nun, die im ersten Punkt genannte »Programmiersprache« ist auf allen Rechnern dieselbe. Bedenken Sie, dass das für den Assembler nicht gilt. Ein Befehl wie $ mov$ heisst auf einem anderen Rechner unter Umständen anders. Aber der Befehl print wie er zum Beispiel in der Programmiersprache »C« festgelegt ist, ist eben in der Sprache selbst festgelegt. Das Übersetzerprogramm muss sich nun darum kümmern, wie dieser Befehl auf dem spezifischen Rechner in Maschinensprache übertragen wird. Die Hardwareabhängigkeit ist also jetzt von der Sprache losgekoppelt und lediglich auf das Übersetzerprogramm übertragen worden.

Noch einmal: der Quellcode, die sogenannte Source, ist eine ASCII-Datei, die auf jedem Rechner von jedem Editor gelesen und bearbeitet werden kann. Dieser Quellcode ist also von der Hardware nicht abhängig. Das Übersetzerprogramm wandelt diesen Code in einen hardwareabhängigen Binärcode um, der dann vom Rechner verarbeitet werden kann. Auf diese Art und Weise kann der Programmierer sein Programm auf jeden Rechner portieren, wenn dort ein entsprechendes Übersetzerprogramm existiertA.4.

Figure: Hierarchie von Programmiersprachen
\includegraphics[%
scale=0.6]{byte.eps}

Die Abbildung [*] verdeutlicht das bisher Gesagte noch einmal grafisch.



Subsections
next up previous contents index 6163656769
Next: A.2.1 Wie werden Übersetzer Up: A. Wie werden Programme Previous: A.1.6 Was ist ein   Contents   Index
Heiko Schroeder 2003-03-19