00 Was ist Hohoho!?

https://arxiv.org/pdf/1712.06259.pdf

Aufbauend auf den Forschungsarbeiten von Andrew S. Tanenbaum zu Computernetzwerken und Betriebssystemen, dem Internet of Things und Weihnachten 4.0 haben an Universität von Wien Peter Reichl et al sich intensiver mit der Frage befasst: wie programmiert der Weihnachtsmann!

In der Annahme, dass diese Programmiersprache nicht nur vom Weihnachtsmann, sondern auch von Elfen, Zwergen und Rentieren genutzt wird, ist das Design von entscheidender Bedeutung.

Unter Bezug auf die Arbeiten zu Brainf!ck sowie von D. Morgen-Mar und seiner Programmiersprache Ook! wurde Hohoho! entwickelt.

Syntax-Elemente von Hohoho im Vergleich

BFBeschreibungOok!Hohoho!Simple Hohoho!
+Inkrementiere aktuelle Zelle
um 1
Ook. Ook.HoHoHohoHo!
Dekrementiere aktuelle Zelle
um 1
Ook! Ook!hohohoHoho!
>Gehe eine Zelle nach rechtsOok. Ook?HoHohoHoHo!
<Gehe eine Zelle nach linksOok? Ook.hoHoHo
[Beginn der SchleifeOok! Ook?Hohoho
]Ende der SchleifeOok? Ook!hohoHo
.Gib aktuelle Zelle ausOok! Ook.hoHohohoho!
,Lese in aktuelle Zelle einOok. Ook!HohoHo

Verbesserung der Lesbarkeit

Per Definition besteht jeder Hohoho!-Befehl aus drei aufeinanderfolgenden “Ho’s” bzw. “ho’s”. Damit kann eine beliebige Folge von Ho/ho’s getrennt und auf ähnliche Weise auf beliebige Weise verbunden werden, solange ein Hohoho!-Compiler nur die aufeinanderfolgenden Tripletts von Ho/ho’s extrahiert und sie als einzelne Befehle interpretiert.

Daher kann jedes Hohoho!-Programm so umgeschrieben werden, dass auf ein großgeschriebenes “Ho” immer eine beliebige Anzahl (größer oder gleich Null) von klein geschriebenen “ho’s” plus einem Ausrufezeichen und einem Leerzeichen folgt.

In dieser Schreibweise bedeutet das z.B. “Ho! Hohoho! Hoho!” tatsächlich auf “HoHoho hoHoho” im Standard Hohoho! und entspricht der BF-Befehlsfolge Folge “> .”.

Weitere Vereinfachung

Tatsächlich verwendet der Weihnachtsmann viele der grundlegenden Befehle aus naheliegenden Gründen nicht:

  • Schleifen sind viel nützlicher für Weihnachtslieder und werden daher vom Weihnachtsmann vermieden
  • Mit einem Schlitten rückwärts zu fahren ist extrem schwierig und wird daher vom Weihnachtsmann ebenfalls sorgfältig vermieden
  • Die Tätigkeit vom Weihnachtsmann impliziert eher Ausgaben (Geschenke → Kinder) und nicht Eingaben.

Infolgedessen kann die Anzahl der tatsächlichen Befehle auf vier reduziert werden, was Simple Hoho! zu einer noch effizienteren effizientere Programmiersprache macht.