11. Programmierparadigmen
- Themen
- Begriffsklärung: Was ist ein (Programmier-)Paradigma?
- Warum sich mit Programmierparadigmen befassen?
- Programmierparadigmen: eine Übersicht
- Folien
Zentrale Aspekte
- Programmierparadigmen beeinflussen die Sicht des Programmierers
auf die möglichen Lösungswege für eine gegebene Problemstellung. - Bestimmte Paradigmen haben die Entwicklung zentraler Aspekte
der Programmierung erleichtert bzw. ermöglicht. - (Grobe) Kenntnis der Paradigmen ist wichtig,
um sich innerhalb der Disziplin verständigen zu können. - Programmierparadigmen schließen einander
in der Regel nicht gegenseitig aus.
Weiterführende Literatur
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Der Begriff des Paradigmas wurde von Robert W. Floyd 1979 in seiner „ACM Turing Award Lecture“ [Floyd, 1979Floyd, Robert W. (1979): The paradigms of programming, Commun. ACM 22:455-460] in die Computerwissenschaften eingeführt und nimmt Bezug auf Thomas Kuhn und seine Darstellung der Wissenschaftsgeschichte und -theorie [Kuhn, 1976Kuhn, Thomas S. (1976): Die Struktur wissenschaftlicher Revolutionen, Suhrkamp, Frankfurt am Main].
Als „Geburtsdaten“ für die drei hier vorgestellten Paradigmen lassen sich [McCarthy, 1960McCarthy, John (1960): Recursive functions on symbolic expressions and their computation by machine, part I, Commun. ACM 3:184-195] für die funktionale, [Dahl, 1966Dahl, Ole-Johan; Nygaard, Kristen (1966): SIMULA—an ALGOL-based simulation language, Commun. ACM 9:671-678] für die objektorientierte und [Dijkstra, 1968Dijkstra, Edsger W. (1968): Go to statement considered harmful, Commun. ACM 11:147-148] für die strukturierte Programmierung ins Feld führen.
Ein interessanter Artikel von Robert C. Martin („Uncle Bob“), der die drei vorgestellten Paradigmen zusammenfasst, findet sich im Blog von 8th Light Inc: Three Paradigms.
- Dahl, Ole-Johan; Nygaard, Kristen (1966): SIMULA—an ALGOL-based simulation language, Commun. ACM 9:671-678
- Dijkstra, Edsger W. (1968): Go to statement considered harmful, Commun. ACM 11:147-148
- Floyd, Robert W. (1979): The paradigms of programming, Commun. ACM 22:455-460
- Kuhn, Thomas S. (1976): Die Struktur wissenschaftlicher Revolutionen, Suhrkamp, Frankfurt am Main
- McCarthy, John (1960): Recursive functions on symbolic expressions and their computation by machine, part I, Commun. ACM 3:184-195