Programmiersprachen
Grundmodell
Eine Programmiersprache liegen bestimmte Denkmodelle zugrunde:
- prozedural
-
- Abläufe sind die Grundvorstellung: Eingabe Verarbeitung Ausgabe
- Prozeduren können als Seiteneffekte globale Variablen verändern
→ P F U I, bei größeren Programmen wird das sehr schnell
unverständlich.
- Grundvorstellungen modernerer Vertreter
- objektorientiert
- Objekte und Vererbung
Vorläufer:
- Module, abstrakte Datentypen
- objektbasierte Sprachen
Wichtig ist Polymorphie und auch
Überladung
- funktional
-
- vermeidet Seiteneffekte
- mathematisch gut fundiert
lambda-Kalkül:
- Zustände gibt es nicht → nicht für Systemprogrammierung
geeignet.
(In erlang soll es dann wieder Zustände geben ?)
- logisch / computeralgebraisch
-
- Hat eine Faktendatenbank und Regeln - sozusagen das "Programm"
- Bei der Abarbeitung wird ein Suchbaum aufgebaut und weitere Theoreme bewiesen
- Beispiel: Prolog
- parallel
-
Diese Grundmodelle spiegeln sich auch in den Abstraktionsmechanismen wieder
Objektfunktioanle Sprachen sind eine Mischform.
imperativ - deklarativ
- imperativ
- Hier legt die Programmierer genau den Weg fest, wie das Problem gelöst wird.
prozedurale Sprachen sind meist imperativ, sowie objekt-orientierte Systemprogrammiersprachen.
- deklarativ
- hier wird das Problem beschrieben, der Weg wird automatisch ermittelt.
wie make, XSLT.
Funktionale und logische Sprachen sind in ihrer Natur nach deklarativ.
Datenbankabfragesprachen wie SQL oft auch.
(vgl. Wikipedia über deklarative Programmierung)
Wort in wiktionary
lateinisch declaratio = Kundgebung, Offenbarung (Duden)
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber