Esoterische Programmiersprachen
Mar 20, 2016 00:00 · 250 words · 2 minutes read
Esoterische Programmiersprachen sind Programmiersprachen, die nicht für den praktischen Einsatz entwickelt wurden, sondern um ungewöhnliche Sprachkonzepte umzusetzen - und um einfach Spaß zu haben.
Obwohl esoterische Programmiersprachen keine echten Anwendungen haben, hat ihr Einsatz im Informatikunterricht doch einen besonderen Reiz. Mit wenigen Befehlen lassen sich erstaunlich komplexe Aufgaben lösen. Damit kann eine Sprache wie BrainFuck im Kontext der maschinennahen Programmierung eingesetzt werden. Auch zur Vertiefung der theoretischen Informatik eignet sich BrainFuck als Turing-vollständige Programmiersprache. Zudem macht BrainFuck einfach riesigen Spaß!
Grundlagen
Der folgende Basisartikel der CT gibt einen guten Überblick über die gängigen Vertreter esoterischer Programmiersprachen:
CT-Artikel 22⁄2007, Seite 192 ff.
BrainFuck
Die bekannteste esoterische Programmiersprache „Brainfuck“ kennt nur acht Befehle. Trotz dieser Eingeschränktheit ist Brainfuck Turing-vollständig, d.h. sie leistet genau so viel wie die Idee des universellen Rechnermodells von Alan Turing. Das Programm „TuringKara“ kann dabei helfen, die Idee der Turingmaschine besser zu verstehen und die Mächtigkeit der Turingmaschine der von Brainfuck gegenüberzustellen.
Unterrichtsmaterial
- BrainFuck-Unterrichtsmaterial auf SwissEduc
- Beispielumsetzung der Zusatzaufgaben (Ein Java-Interpreter für BrainFuck / Ein Compiler von BrainFuck nach Java): brainfuck.zip
- TuringKara-Unterrichtsmaterial auf SwissEduc
Links
Weitere Programmiersprachen
Interessante Kandidaten zur weiteren Erkundung sind:
Befunge
Programme dieser Sprache werden in einer Matrix codiert und können sich selbst modifizieren.
Chef
Programmtexte werden als eine Art Kochrezept formuliert.
Shakespeare Programming Language (SPL)
Programmtexte lesen sich wie ein Gedicht von Shakespeare, führen aber tatsächlich konkrete Berechnungen durch.