Hohoho! esoterische Programmiersprache

Herkunft / Verwendung: Hohoho! sind mehrere Varianten der esoterischen Programmiersprache Brainfuck, die einfach aus Spaß erfunden wurde mit dem humoristischen Gedanken, wie der Weihnachtsmann denn kommunizieren würde, könnte er nur den "Ho"-Laut aussprechen, wie wir ihn kennen, allerdings mit unterschiedlichen Betonungen, was durch den Einsatz von Groß- und Kleinschreibung zum Ausdruck kommen soll.

Die Varianten HoHoHo! und "Simple Ho" wurden von P. Reichl und S. Claus (wohl scherzhaft für Santa Claus, wie der Weihnachtsmann im angloamerikanischen Gebiet heißt) an der Universität Wien spezifiziert und sind im Prinzip eine Abwandlung von Ook-Ook, die wiederum eine Abwandlung von Brainfuck ist, was eine esoterische Programmiersprache mit 8 Befehlen darstellt.

Durch Aneinanderreihung von drei Ho-Silben ergeben sich sozusagen drei Bits, die je nachdem, ob die Silbe groß- oder kleingeschrieben sind, für eins oder null stehen. Mit drei Bits kanns man zwei hoch drei, also acht Zustände darstellen, ausreichend, um die 8 Brainfuck-Befehle abzubilden. Hohoho ist also im Prinzip Brainfuck in einer anderen Schreibweise, sozusagen ein Dialekt. Ein Dialekt, wie ihn der Weihnachtsmann sprechen würde.
Die Weihnachtsfreunde an der Uni Wien haben auch noch eine zweite Variante "Simple Ho" kreiert, die nur zwei Silben, also zwei Bits hat und damit vier Zustände darstellen kann, die auf die vier wichtigsten Brainfuck-Anweisungen abgebildet sind.

Eine weitere Variante (2) namens "HOHOHO!" soll die freudige Stimmung des Weihnachtsmanns ausdrücken, die zu einem lauteren HOHOHO! führt, wenn man den Code liest.

Spezifikation der Programmiersprache

Im Grunde ist Hohoho! nichts anderes als eine Ersetzung der Programmiersprachelemente der Sprache Brainfuck nach folgendem Muster:

Hohoho! (1)Simple Hoho (1)HOHOHO! (2)BrainfuckBeschreibung
HoHoHohoHoHOHOHO+den Wert der aktuellen Zelle um 1 erhöhen
hohohoHohoHoHoHo-den Wert der aktuellen Zelle um 1 verringern
HoHohoHoHoHOHOHo>eine Zelle nach rechts gehen
hoHoHo-HoHOHO<eine Zelle nach links gehen
Hohoho-HOHoHo[Schleifenanfang – die Schleife durchlaufen solange der Wert der aktuellen Zelle ungleich 0 ist
hohoHo-HoHoHO]Schleifenende – beendet die Schleife, wenn der Wert der aktuellen Zelle gleich 0 ist
hoHohohohoHoHOHo.den Wert der aktuellen Zelle ausdrucken
HohoHo-HOHoHO,einen Wert von der Tastatur in die aktuelle Zelle einlesen

Um die Lesbarkeit zu erhöhen und nicht eine lange, lange Kette von Ho-Lauten zu erhalten, wird diese Kette durch Ausrufezeichen unterteilt: kleingeschriebene "ho" werden an großgeschriebene angehängt, aber jedes neue großgeschriebene "Ho" trennt die Kette durch ein davorgeschriebenes Ausrufezeichen. Die Syntax erlaubt auch andere Satzzeichen, diese werden einfach alle vor der Dekodierung herausgefiltert.

Bei HOHOHO! lässt sich die Lesbarkeitsregel von oben nicht anwenden, hier kann man einfach nach drei Silben ein Ausrufezeichen als Trenner einfügen.

Beispiele

Klartext:Beispiel
Brainfuck:++++++++[->++++++++<]>++.<+++++[->+++++++<]>.++++.++++++++++.---.-------.----.+++++++.
Hohoho!:Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hohohohohoho! Ho! Hoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hoho! Ho! Hohoho! Ho! Ho! Hoho! Ho! Ho! Ho! Ho! Ho! Hoho! Hohoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hohohohohoho! Ho! Hoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hoho! Ho! Hohoho! Ho! Ho! Hohoho! Hoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hoho! Hoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hoho! Hohohohohohohohohohohoho! Hohohohohohohohohohohohohohohohohohohohohohohoho! Hohohohohohohohohohohohohohoho! Hoho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Ho! Hoho! Hoho!
HOHOHO!:HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHoHo! HoHoHo! HOHOHo! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HoHOHO! HoHoHO! HOHOHo! HOHOHO! HOHOHO! HoHOHo! HoHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHoHo! HoHoHo! HOHOHo! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HoHOHO! HoHoHO! HOHOHo! HoHOHo! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HoHOHo! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HoHOHo! HoHoHo! HoHoHo! HoHoHo! HoHOHo! HoHoHo! HoHoHo! HoHoHo! HoHoHo! HoHoHo! HoHoHo! HoHoHo! HoHOHo! HoHoHo! HoHoHo! HoHoHo! HoHoHo! HoHOHo! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HOHOHO! HoHOHo!

Klartext:Beispiel
Simple Brainfuck:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++.++++.++++++++++.---.-------.----.+++++++.
Simple Hoho:ho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hohohoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hohohoho! Hoho! Hoho! Hoho! Hohohoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hohoho! Hoho! Hoho! Hohohoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hohohoho! Hoho! Hoho! Hoho! Hohohohoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hoho! Hohoho!

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Quellen, Literaturverweise und weiterführende Links

(2) Github Aequitosh / hohoho