Höhere Programmiersprache
Eine höhere Programmiersprache ist eine Programmiersprache, die die Beschreibung eines Computerprogramms in einer abstrakten Sprache ermöglicht.
Auf einen Prozessortyp zugeschnittene Assemblersprachen gelten nicht als höhere Programmiersprachen. Ende der 1950er Jahre wurden Computer so leistungsfähig, dass Übersetzungsprogramme die Eingabe von Programmen wesentlich erleichtern konnten. Fortran, ALGOL und Lisp waren die ersten Vertreter, deren Namen noch an die neuen, komfortableren Möglichkeiten der Sprachen und Übersetzer erinnern:
- Fortran - FORmula TRANslation = Formelübersetzung
- ALGOL - ALGOrithmic Language = Algorithmensprache
- LISP - LIST Processing = Listenverarbeitung
Als weltweit erste höhere Programmiersprache gilt das Plankalkül von Konrad Zuse.
Neben der Definition von Algorithmen in einer dem Englischen ähnlichen Sprache erlauben höhere Programmiersprachen auch die Definition von Datenstrukturen.
Höhere Programmiersprache | Assemblersprache |
---|---|
Leicht erlern- und anwendbar | Schwer erlernbar |
Leichte Lesbarkeit | kaum lesbar |
Maschinenunabhängig | nur auf einem bestimmten Prozessortyp lauffähig |
Abstrakte, maschinenunabhängige Datentypen (Ganzzahl, Fliesskommazahl) | Datentypen des Prozessors (Byte, Wort, Langwort) |
Kontrollstrukturen | keine Kontrollstrukturen, manchmal Makros |
Datenstrukturen (Feld, Record) | Nur einfache Typen |
Syntaxüberprüfung möglich | Syntaxüberprüfung unmöglich |
Typüberprüfung möglich | Typüberprüfung unmöglich |
Beispiel: A:=2; FOR I:=1 TO 20 LOOP A:=A*I; END LOOP; PRINT(A); |
Beispiel: .START ST ST: MOV R1,#2 MOV R2,#1 M1: CMP R2,#20 BGT M2 MUL R1,R2 INI R2 JMP M1 M2: JSR PRINT .END |
Programme in höheren Programmiersprachen müssen durch einen Übersetzer in Maschinencode übersetzt werden, der Compiler genannt wird. Erst der Maschinencode kann dann ausgeführt werden. Der Compiler ist dabei selbst ein Computerprogramm. Die Maschine hilft also bei ihrer eigenen Programmierung.
Auch die direkte Interpretierung durch einen Interpreter ist manchmal möglich. Programme in höheren Programmiersprachen sind größtenteils maschinenunabhängig, können also auf sehr unterschiedlichen Computersystemen übersetzt und ausgeführt werden.
Heute existieren viele unterschiedliche höhere Programmiersprachen, manche sogar für Spezialanwendungen.