Esoterische Programmiersprache

Programmiersprache für ungewöhnliche oder theoretische Zwecke

Esoterische Programmiersprachen sind Programmiersprachen, die nicht für den praktischen Einsatz entwickelt wurden, sondern um ungewöhnliche Sprachkonzepte umzusetzen. Eine einfache Bedienung ist selten. Teilweise werden diese Sprachen konzipiert, um möglichst komplizierte Algorithmen oder eine unverständliche Syntax zu haben, oft aber auch, um neue Ideen auszuprobieren oder um ungewöhnliche Möglichkeiten wie extreme Vereinfachung aufzuzeigen.

Mit Esoterik im eigentlichen Sinn haben esoterische Programmiersprachen nur dem Namen nach etwas zu tun: Da Esoterik im Allgemeinen als Synonym für abwegige Pseudowissenschaften gilt, wurde der Begriff auf diejenigen Programmiersprachen übertragen, die in den Augen Außenstehender ebenso sinnlos und abwegig erscheinen.

Die Motivation hinter der Entwicklung von esoterischen Programmiersprachen kann unterschiedlich sein. In einigen Fällen handelt es sich schlicht um akademische Scherze, häufig setzt sich aber der Entwickler der Sprache ein bestimmtes Ziel. So wurden zum Beispiel bei Brainfuck konventionelle Spracheigenschaften so weit wie möglich entfernt, bis eine turingmaschinenähnliche Sprache übrig blieb, die mit einem extrem kleinen Compiler auskommt.

Esoterische Programmiersprachen können dazu dienen, Konzepte für anwendungsbezogenere Programmiersprachen zu demonstrieren. Außerdem kann durch die Beschäftigung mit den verschiedenen esoterischen Programmiersprachen das Verständnis für „seriöse“ Programmiersprachen vertieft und das eigene strukturelle Denken verbessert werden.[1]

Beispiele

Bearbeiten

Siehe auch

Bearbeiten

Literatur

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Seminar Esoterische Programmiersprachen, Universität Oldenburg
  2. Alex Churchill, Stella Biedermann und Austin Herrick: Magic: The Gathering is Turing Complete. 23. April 2019, abgerufen am 15. Juni 2019.
  3. Manon Bischoff: Das komplexeste Spiel von allen. 11. Juni 2019, abgerufen am 15. Juni 2019.
Bearbeiten