Esoterische Programmiersprache
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 | Quelltext bearbeiten]- Brainfuck – minimale imperative Programmiersprache, winziger Compiler von Urban Müller
- Shakespeare Programming Language – Code sieht aus wie ein Stück von William Shakespeare, von Kalle Hasselström und Jon Åslund
- Piet – Programmcode besteht aus abstrakten Bildern, von David Morgan-Mar
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Die Programmiersprache BANCStar wird gerne mit einer esoterischen Sprache verwechselt, obwohl sie für Finanzanwendungen entwickelt wurde.
- Liste von Hallo-Welt-Programmen – Esoterische Programmiersprachen
- Liste esoterischer Programmiersprachen
- Kuriosum: Für das Sammelkartenspiel Magic: The Gathering konnte eine Turing-Vollständigkeit nachgewiesen werden.[2][3] Formal gesehen stellt also dieses Spiel auch eine Programmiersprache dar.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Oliver Lau: Hexenwerk – Ein Plädoyer für esoterische Programmiersprachen. In: c’t 22/2007, S. 192–199.
- Michael Mateas, Nick Montfort: A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics (PDF; 385 kB), in: Proceedings of the 6th Digital Arts and Culture Conference, IT-Universität Kopenhagen, 1.–3. Dezember 2005, S. 144–153
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Seminar Esoterische Programmiersprachen, Universität Oldenburg
- ↑ Alex Churchill, Stella Biedermann und Austin Herrick: Magic: The Gathering is Turing Complete. 23. April 2019, abgerufen am 15. Juni 2019.
- ↑ Manon Bischoff: Das komplexeste Spiel von allen. 11. Juni 2019, abgerufen am 15. Juni 2019.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- The Esoteric Programming Languages Ring
- Vortrag: Vom Nutzen unnützer Programmierung
- Esolang wiki Ein Wiki, das sich mit esoterischen Programmiersprachen beschäftigt (en)
- The LOLCODE Wiki