Suche
Hasta la vista, Baby!

Gestatten: ArnoldC, Ihre neue Lieblings-Programmiersprache

Natali Vlatko

© Shutterstock.com/posztos

Esoterische Programmiersprachen erblicken häufig als Folge eines kurzweiligen Nebenprojekts das Licht der Welt. Zu ihrer Beschreibung bieten sich gleich mehrere Adjektive an: Spaßig, staunenswert und schrullig. Für ArnoldC braucht man immerhin einen ganzen Satz: Schaff` deinen Hintern auf den Mars!

Wenn Sie schon immer den Traum gehegt haben, sich mithilfe einer Programmiersprache auszudrücken, die auf den One-Linern von Arnold Schwarzenegger basiert, so ist dieser nun erfüllt: ArnoldC enthüllt die wahre Semantik hinter Arnies legendären Filmzitaten. Alle Knüller sind dabei: Terminator 2, Total Recall, Predator und natürlich … COMMANDO.

Die Sprache ist zwar nicht neu, dafür aber cool. Schon allein das Hallo-Welt-Programm hat uns überzeugt:

IT'S SHOWTIME
TALK TO THE HAND "hello world"
YOU HAVE BEEN TERMINATED

Arnold C ist eine imperative Programmiersprache, bei der alle Basics durch bekannte Zitate aus den verschiedensten Schwarzenegger-Filmen ersetzt wurden. Das Parsing wird mit Parboiled erledigt, während ASM für die Generierung des Java-Bytecode zuständig ist.

Das Wiki enthält weiterführende Informationen über seine Anwendung, plus eine kurze Übersicht der Schlüsselwörter. Hier einige unserer Favoriten:

MethodArguments I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE
Return I’LL BE BACK
EndMethodDeclaration HASTA LA VISTA, BABY
EqualTo YOU ARE NOT YOU YOU ARE ME
GreaterThan LET OFF SOME STEAM BENNET
AssignVariableFromMethodCall GET YOUR ASS TO MARS
DeclareInt HEY CHRISTMAS TREE

Lauri Hartikka, dem finnische Entwickler hinter ArnoldC zufolge zielt das Projekt darauf ab, „mit den Mitteln der Informatik die tiefere Bedeutung der Arnold-Filme zu entdecken“. Nachdem wir auf GitHub auf dieses Juwel gestoßen waren, machten wir uns auf die Suche nach weiteren esoterischen Sprachen.

Hodor Programming Language

Gute Nachrichten für alle Fans von Game of Thrones: Hodor ist Hodor hodor hodor. Die Köpfe hinter dem Projekt hatten nach eigener Aussage das Ziel, eine disruptive Technologie, die einfach nur funktioniert, zu erschaffen: „Durch die ständige Wiederverwendung von Permutationen des Wortes „Hodor“ haben wir die Programmiersyntax so simpel wie nie zuvor gemacht“.

Damit Hodor funktioniert, muss zunächst Node.js auf Ihrer Maschine installiert werden. Folgerichtig umfasst die Featureliste ausschließlich Hodor:

1. Hodor
2. Hodor hodor hodor hodor
3. Hodor hodor hodor
4. Hodor HODOR hodor
5. Hodor!

Mithilfe des bereitgestellten Tools js2hd können Sie sogar Ihre alten JavaScript-Dateien in Hodor konvertieren. js2hd myfile.js -> myfile.hd. Mehr Informationen zu Hodor finden Sie auf GitHub.

Deadfish

Beim Thema esoterische Programmiersprachen kann es eigentlich nicht schrulliger als mit Deadfish werden. Die von Jonathan Todd Skinner erschaffene Sprache programmierte ursprünglich in C, wurde mittlerweile jedoch auf über 50 weitere Programmiersprachen, darunter zusätzliche esoterische, portiert. Deadfish nimmt keinen Input an und gibt nur Integer-Werte aus.

Der Clou bei Deadfish sind seine Befehle, die natürlich eine xkcd-Variation enthalten. Wenn Sie noch nie von den xkcd-Comics gehört haben, dann tun Sie mir wirklich leid. FANGEN SIE SOFORT AN ZU LESEN!

ArnoldC_screenshot

Hiervon ausgehend können Sie die ASCII-Werte der Hallo-Welt-Zeichen ausgeben lassen:

iisiiiisiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiooiiio
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
dddddddddddddddddddddsddoddddddddoiiioddddddoddddddddo

Wie gesagt, verrückt. Auch die Erklärung der Namensherkunft auf dem Esolang-Wiki ist ein echter Prachtkerl:

Deadfish was originally going to be called fishheads as programming in this language is like eating raw fish heads. However, due to the limiting features of the language, programming in this language became like eating (and having to smell) dead, rotting fish heads, an experience not often generally considered pleasurable.

Wenn Sie auch mal ein bisschen durchdrehen wollen: Ein nicht weniger großartiger Post auf Reddit führt in die Grundlagen von Deadfish ein.

Brainfuck

Ohne das legendäre brainfuck (nur am Satzanfang groß geschrieben) wäre eine Liste esoterischer Sprachen niemals komplett. Die Turing-vollständige Sprache wurde 1993 von dem Schweizer Urban Müller entworfen; mit nur 8 Befehlen ist sie für ihren Minimalismus bekannt und war ursprünglich dafür gedacht, den kleinsten Compiler aller Zeiten für das Amiga OS 2.0 zu schreiben.

Von Brian Raiter als „gottlos“ bezeichnet, verfügt ein Brainfuck-Programm über einen impliziten Zeiger, der sich innerhalb eines Datenfelds von 30000 Bytes, die anfangs alle auf Null gesetzt sind, frei bewegen kann. Der Befehlssatz sieht in etwa so aus:

>  inkrementiert den Zeiger
<  dekrementiert den Zeiger
+  inkrementiert den aktuellen Zellenwert
–  dekrementiert den aktuellen Zellenwert
.  Gibt den aktuellen Zellenwert als ASCII-Zeichen auf der Standardausgabe aus
,  Liest ein Zeichen von der Standardeingabe und speichert dessen ASCII-Wert in der aktuellen Zelle
[  Springt nach vorne, hinter den passenden ]-Befehl, wenn der aktuelle Zellenwert 0 ist
]  Springt zurück, hinter den passenden [-Befehl, wenn der aktuelle Zellenwert nicht 0 ist

Verstanden? Dachte ich mir. Hier eine minimierte Version von „Hallo Welt“:

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

Wenn Ihnen dieses Beispiel zu ungewöhnlich oder kompliziert (warum heißt es wohl „brainfuck“?) erscheint, werfen Sie erraten einen Blick ins Wiki.

Obwohl nur eine kleine Auswahl esoterischer Sprachen, werden die Genannten Sie zweifellos für eine Weile beschäftigt halten. Was ist Ihre bevorzugte esoterische Sprache? Teilen Sie es uns in den Kommentaren mit!

Aufmacherbild: Interior of Arnold Schwarzenegger Museum von Shutterstock.com / Urheberrecht: posztos

Verwandte Themen:

Geschrieben von
Natali Vlatko
Natali Vlatko
An Australian who now calls Berlin home, via a two year love affair with Singapore. Natali was an Editorial Assistant for JAXenter.com (S&S Media Group).
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: