Esoterische Programmiersprache

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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 Sprachen konzipiert, um möglichst komplizierte Algorithmen oder 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 für viele Menschen 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]

Beispielsprachen[Bearbeiten]

  • Beatnik – Wörter stehen für ihre Scrabble-Werte, von Cliff L. Biffle
  • Befunge – zweidimensionale Sprache von Chris Pressey
  • BIT – von David Morgan-Mar
  • Bo³ – ähnlich Befunge, von Markus Bode
  • Brainfuck – minimale imperative Programmiersprache, winziger Compiler von Urban Müller
  • Brainfuck2D – Brainfuck auf die Ebene projiziert
  • Chef – Code sieht aus wie ein Kochrezept, von David Morgan-Mar
  • 3Code – von Sean Heber
  • Cow – Code besteht aus Kuhlauten (Moo), basiert auf Brainfuck, von Sean Heber
  • Emoticon – hat Emoticons als Befehle
  • GolfScript - Stack-orientierte Programmiersprache für Code Golf-Wettbewerbe, die eine sehr kompakte Notation erlaubt (teilweise einzelne Zeichen für komplexe Befehle)
  • Haifu – von David Morgan-Mar
  • HQ9+ – Programmiersprache spezialisiert auf triviale Aufgaben, von Cliff L. Biffle
  • INTERCAL – sollte das Programmieren erschweren, von Donald R. Woods und James M. Lyon
  • Iota and Jot – hat nur 2 Befehle
  • Java2Kwahrscheinlichkeitstheoretische Sprache, von Gerson Kurz
  • KaForkL – Programmieren mit RGB-Bildern inklusive grafischer IDE, von Kore Nordmann[2]
  • LOLCODE – Syntax besteht aus Netzjargon, von Adam Lindsay
  • Loopy – ähnlich Brainfuck2D
  • Malbolge – erklärtermaßen schlimmste Programmiersprache, von Ben Olmstead
  • Ook! – Syntax besteht einzig und allein aus dem Wort „Ook“ sowie den Zeichen: .?!, von David Morgan-Mar
  • Piet – Programmcode besteht aus Bildern, von David Morgan-Mar
  • Shakespeare Programming Language – Code sieht wie ein Stück von Shakespeare aus, von Kalle Hasselström und Jon Åslund
  • Taxi – Wegbeschreibung an einen Taxifahrer, von Sean Heber
  • Unlambda – minimale funktionale Programmiersprache
  • Whenever – von David Morgan-Mar
  • Whirl – von Sean Heber
  • Whitespace – Code besteht nur aus nichtdruckbaren Zeichen, von Edwin Brady und Chris Morris
  • Zombie – von David Morgan-Mar

Siehe auch[Bearbeiten]

Liste von Hallo-Welt-Programmen – Esoterische Programmiersprachen

Literatur[Bearbeiten]

  • Oliver Lau: Hexenwerk – Ein Plädoyer für esoterische Programmiersprachen. In: c’t 22/2007, S. 192–199.

Einzelnachweise[Bearbeiten]

  1. Seminar Esoterische Programmiersprachen, Universität Oldenburg
  2. KaForkL – image programming language

Weblinks[Bearbeiten]