Höhere Programmiersprache

Programmiersprache zur Abfassung eines Computerprogramms, die in Abstraktion und Komplexität von der Ebene der Maschinensprachen deutlich entfernt ist
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Mai 2004 um 14:16 Uhr durch Hubi (Diskussion | Beiträge) (Leez). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.