(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