Home
 

Überblick "`Höhere Programmiersprachen"'

Überblick "`Höhere Programmiersprachen"'

Man unterscheidet:

  • imperative Programmiersprachen

    z.B.: Fortran (1958, Backus), Algol 60, Algol 68, Cobol, PL1, Pascal, Modula, ...

    Wesentlich:

    Anweisungen ( $\rightarrow$ "`imperativ"' ) mit festgelegter Ausführungsreihenfolge (Kontrollstrukturen) ändern Programmvariable.

    [Anm.: (Objektorientierte Sprachen sind eine Form imperativer Sprachen; spezielle Definitionstechnik für Datenstrukturen ermöglicht evolutionäre / wiederverwendende Programmierung.) ]

    Vorbild imperativer Sprachen:

    von-Neumann-Rechner =aktive Zentraleinheit führt Befehle aus, die Werte in passivem Speicher aktualisieren (lesen / schreiben)

    Wegen der Nähe zur klassischen Rechnerstruktur sind imperative Sprachen sehr effizient zu implementieren!

  • funktionale Programmiersprachen

    z.B.: Lisp (1960, McCarthy), Scheme, ML, FP, Hope, Miranda, ...

    Charakteristisch:

    • keine Anweisungen
    • keine Variablen
    • sondern: Programmierer definiert Funktion (abgestüzt auf andere Funktionen, Konstantenvereinbarungen, ...) und spezifiziert Ziele der Berechnung durch damit gebildeten Ausdruck

    [Anm.: Manche "`funktionale Sprachen"' sind nicht rein funktional! ]

    Vorbild:Mathematik, speziell $\lambda$-Kalkül; Auswertung von Ausdrücken durch Reduktion, d. h. schrittweise Transformation in die einfachste Form (= Wert).

    Keine direkte Entsprechung zur üblichen Rechnerstruktur;

    Grundsätzlich schwieriger zu implementieren / weniger effizient;

    Heute allerdings sehr gute (kompilierende) Implementierungen mit (bei vernünftigen funktionalen Programmen) der imperativen Welt vergleichbaren Leistungen.

  • logische Programmiersprachen

    insbesondere Prolog (1971, Colmerauer)

    Charakteristisch:gewünschtes Ergebnis wird mit Mitteln der Logik (also relational) definiert und durch ein Beweisverfahren mit Hilfe einer Wissensbasis abgeleitet.

    $\Longrightarrow$ Teil 2 von Programmieren III

    $\Longrightarrow$ funktionale Sprachen heißen auch applikativ, logische Sprachen auch deklarativ; (wobei letzterer Term auch für funktionale Sprachen benutzt wird!)


nextnextupuppreviouspreviouscontentscontents
Next:Funktionale Sprachen - Was,Up:EinführungPrevious:Plan der Vorlesung
Ronald Blaschke
1998-04-19