Hohoho! esoterische Programmiersprache
Kategorisierung: | Esoterische Programmiersprache |
Siehe auch: | Brainfuck, Cow, Ook-Ook! |
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) | Brainfuck | Beschreibung |
---|---|---|---|---|
HoHoHo | hoHo | HOHOHO | + | den Wert der aktuellen Zelle um 1 erhöhen |
hohoho | Hoho | HoHoHo | - | den Wert der aktuellen Zelle um 1 verringern |
HoHoho | HoHo | HOHOHo | > | 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 |
hoHoho | hoho | HoHOHo | . | 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