Esoterische Programmiersprachen – Schönheit in der Informatik

BLOG: Heidelberg Laureate Forum

Laureates of mathematics and computer science meet the next generation
Heidelberg Laureate Forum

Nachdem Michael Atiyah seinen Eröffnungsvortrag “Beauty in Mathematics” gehalten hat, schoss mir eine Frage in den Kopf: “An welchen Stellen gibt es die Schönheit in der Informatik?”. Das Erste, was mir dazu einfiel, sind sogenannte esoterische Programmiersprachen. Deren Besonderheit liegt nicht nur in den teils amüsanten Namen, sondern auch in der äußeren Erscheinungsform, die von poetisch über kryptisch bis hin zu unsichtbar reicht.

Auf Wikipedia lässt sich eine schöne Liste mit Hello-World-Beispielen zu einigen dieser Sprachen finden.

Was sind esoterische Programmiersprachen überhaupt?

An sich sind es Programmiersprachen, wie andere auch, jedoch mit der Intention, nicht zwangsläufig für den praktischen Einsatz geeignet zu sein. Viel mehr dienen sie der Veranschaulichung von Konzepten, werden zu Lehrzwecken eingesetzt oder stellen einfach nur eine Parodie oder Spaß dar. Dabei ist der Funktionsumfang dieser Sprachen zum Teil stark eingeschränkt, wobei es durchaus auch Turing-Vollständige Sprachen gibt.

Dabei ist esoterisch jedoch nicht im Sinne von Esoterik an sich zu verstehen. Vielmehr soll es die von außen scheinbare Unsinnigkeit dieser Sprachen verdeutlichen.

Einige besonders ausgefallene Exemplare möchte ich hier kurz vorstellen.

Brainfuck

Die Programmiersprache wird ihrem Namen gerecht, wenn man versucht, damit zu programmieren. Die Besonderheit dieser Programmiersprache liegt darin, dass sie mit nur 8 Zeichen auskommt. Diese Zeichen sind: > < + - . , [ ]. Jedes dieser Zeichen ist ein Element des Befehlssatzes und repräsentiert eine bestimmte Funktion, wie beispielsweise das Inkrementieren oder Dekrementieren einer Zahl.

Chef

Mit dieser Programmiersprache schreibt der Programmierer ein in gewisser Weise ein Kochrezept. Der Aufbau eines Programmcodes erfolgt mit der Definition von Zutaten – die Variablen – , einzelnen Zubereitungsschritten – die Methoden – und dem Vergeben eines Namens für das “Rezept”, das man programmiert.

Shakespeare Programming Language

Die Poeten unter den Programmierern werden sich mit der Shakespeare Programming Language wohlfühlen. Der Programmierer ist dazu angehalten, seinen Quelltext in Form eines Dramas frei nach William Shakespeare zu formulieren. Die erste Zeile des Codes ist der Titel des “Dramas”. Innerhalb des Quelltextes werden zusätzlich ein Personenverzeichnis, in dem alle Charaktere samt einer kleinen Beschreibung eingeführt werden. Sie entsprechen in etwa den Variablen. Vergleichbar zum Titel gibt es auch Akte und Szenen. Ebenso enthalten sind Sprachelemente, die einen Auftritt oder Abtritt eines Charakters beschreiben. Wie in einem Drama üblich, haben die Charaktere auch einen Sprechteil, in dem sie mit den anderen Charakteren in Dialog treten.

Whitespace

Whitespace ist eine Programmiersprache, dessen Quelltext ausschließlich auf Leerzeichen, Tabulatoren und Zeilenumbrüchen besteht. Das bedeutet für den Programmierer, dass sein Quelltext letztlich unsichtbar ist.

Posted by

ist Masterstudentin der Informatik an der Hochschule Zittau/Görlitz. Die gebürtige Zittauerin bloggt auf Sanguinik.de über Kunst, Informatik und verschiedene Veranstaltungen. In ihrer Freizeit engagiert sie sich für Kultur und organisiert unter anderem den Linux Stammtisch in Görlitz. Auf Twitter ist sie unter @SanguinikDE zu erreichen.

4 comments

  1. Whitespace profitiert ungemein vom Syntaxhighlighting. Ansonsten machen White Space Programme einen ungewohnt aufgeräumten Charakter. Hier ein Beispiel, welches die Instruktionen für den Benuzter als White-Space Kommentare ausgibt.

  2. Die Schönheit auf die Erkenntnis bezogen, oder generell [1], jedenfalls auf die Informatik, auf die Angewandte Informatik, ist die Einfachheit bzw. könnte sie sein.

    MFG
    Dr. W (der sich die Nachricht Michael Atiyahs nicht zugeführt hat, dies aber wohl noch nachholen wird, sofern möglich – sowas in dieser Art – https://www.youtube.com/watch?v=dToui7IVwBY – gell?!)

    [1] es gibt zudem Analysen zur menschlichen Schönheit, wobei manchmal die Durchschnittlichkeit gemeint ist, was die Gesichtszüge und so betrifft; liegt dbzgl. Durchschnittlichkeit vor, kann dies, empirisch soz. und das Evolutionäre meinend – den Primaten anleiten zuzugreifen (Quentin Tarantino wäre demzufolge nicht schön, wobei der Schreiber dieser Zeilen hier abweicht)

Leave a Reply


E-Mail-Benachrichtigung bei weiteren Kommentaren.
-- Auch möglich: Abo ohne Kommentar. +