



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:
- Es wäre schön, wenn den Befehlsblöcken, die durch einen Assembler
erstellt wurden, eigene Namen gegeben werden, die dann als ein einziger
Befehl zur Verfügung stehen (denken Sie an unser print-Beispiel
des letzten Abschnitts).
- Dieser »Quellcode« (Source) muss dann von einem hardwarespezifischen
Übersetzerprogramm in Maschinensprache übertragen werden.
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
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
|
|
Die Abbildung
verdeutlicht
das bisher Gesagte noch einmal grafisch.
Subsections




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