(Plan) Oberseminar
Historische
und Esoterische Programmiersprachen
Wir betrachten Programmiersprachen, die heutzutage wenig
bekannt sind, sei es zu unrecht (sie enthalten wichtige
Erfindungen, die jedoch in anderer Form populärer wurden),
sei es zu recht (sie sind absichtlich unpraktisch).
- Die Semantik der jeweiligen Sprache soll durch originale
Spezifikations-Dokumente beschrieben
- und durch einen lokal installierten open-source-Compiler
oder -Interpreter live vorgeführt werden.
- Es sollen Verbindungen zu grundlegenden Prinzipien von
Programmiersprachen hergestellt werden
- und es sind Vergleiche zu anderen (aktuellen, populären)
Sprachen anzustellen.
Das OS baut auf der VL “Prinzipien von
Programmiersprachen” (Master) auf. Teilnehmer der VL
“Compilerbau” können den jeweiligen Interpreter oder
Compiler dann auch selbst schreiben (und dem autotool
hinzufügen).
(Es gibt viele Sprachen, die unpraktisch und trotzdem
weit verbreitet sind, diese zählen wir hier nicht als
esoterisch. In diesem OS präsentierte Sprachen oder Aspekte
von Sprachen sollten nicht schon als ausgearbeitetes
Thema/Beispiel/Aufgabe in anderen Vorlesungen
vorkommen.)
Mögliche Themen
- Algol (Backus et al., 1958), Simula (Dahl, 1962), PL/I
(1964), Intercal
- APL, FP (John Backus 1977)
- Apollo Guidance Computer (Frank O’Brien, Springer
2010)
- Assemblersprache pdp-11 (DEC 1970)
- Brainfuck (Müller 1993), Befunge (Pressey 1993)
- Cobol (Bromber et al. 1960)
- Game of Life (Conway 1982, Rendell 2000, Chapman 2002,
…)
- Forth (Moore 1970)
- Fractran (Conway 1972, 1987)
- Lambda Diagrams, binary lambda calculus (John
Tromp)
- Malbolge (Ben Olmstead 1998)
- Plankalkül (Zuse 1942)
- Postscript (Warnock et al., 1982), TeX (Knuth 1978)
- Smalltalk (Goldberg et al., 1972), Self (Ungar et al.,
1987)
- Snobol (Farber et al., 1962)
- Turing-vollständige Verträge in ETH
- Type-level Prolog in Haskell, Rust’s Type System is
Turing-Complete
Allgemeine Quellen
Seminar-Organisation
- eine Konsultation 3 Wochen vor Vortragstermin
- eine Woche vor Vortrag:
- Zusammenfassung (1 Seiten Text, mit Quellen) an alle
anderen Teilnehmer
- Foliensatz (Arbeitsstand) an Seminarleiter, dieser gibt
weiter an zwei anonyme TN, diese schreiben
Kurz-Gutachten
- Präsentation und Diskussion im Seminar
- ggf. Überarbeitung bis max. 1 Woche nach Vortrag
- Kurz-Gutachten für zwei andere Vorträge
allgemeines zur Bewertung von
Oberseminaren