- HQ9+
-
HQ9+ ist eine Parodie auf esoterische Programmiersprachen, die selbst nicht Turing-vollständig ist, da weder bedingte Anweisungen noch Schleifen möglich sind. Entwickelt wurde HQ9+ vom späteren Google-Mitarbeiter Cliff L. Biffle, der daneben auch die Turing-vollständigen esoterischen Programmiersprachen 4DL sowie Beatnik schuf, in denen Quelltexte als Hyperwürfel bzw. nach den Scrabble-Regeln zu bewertende Texte notiert werden müssen.
Biffle entwickelte mit HQ9+ eine Sprache, mit der in Programmierkursen häufig gestellte Aufgaben trivial gelöst werden können. Hallo-Welt-Programme etwa dienen dem Kennenlernen grundlegender syntaktischer Elemente einer Programmiersprache und Zählreime dem Kennenlernen von Schleifen. Die Entwicklung eines Quines dient als Indiz für die Turing-Vollständigkeit einer Sprache. HQ9+ führt diese Aufgaben ad absurdum, indem es nicht nur eigene Befehle dafür einführt, sondern den Sprachumfang darauf beschränkt.
Das Prinzip der Trivialisierung setzt sich in der Objekt-orientierten Variante HQ9++ von David Morgan-Mar[1] fort, bei der Objekte erstellt werden können, die, wie auch der Zähler, keine Funktion erfüllen können. HQ9+- von Ivan Zaigralin[2] erweitert die Sprache nochmals um einen Operator zur Qualitätskontrolle, der Syntax- und verschiedene Laufzeitfehler auslöst und so das Verhalten des Interpreters oder (Trans-)Compilers in diesen Fällen testet.
Inhaltsverzeichnis
Befehlssatz
Jedes Zeichen im Namen steht für einen der verfügbaren Befehle der Sprache:
H Gibt den Text „Hello World!“ aus. Q Gibt den eigenen Quelltext aus und ahmt damit das Verhalten eines Quines nach. 9 Gibt den Liedtext von „99 Bottles of Beer on the Wall“[3] aus. + Erhöht den Akkumulator um eins. Beispiele
Eingabe Ausgabe H Hello world! HQ Hello world!
HQQQQQ QQQQ
QQQQ
QQQQ
QQQQQ+Q+Q Q+Q+Q
Q+Q+Q
Q+Q+QEinzelnachweise
- ↑ Dokumentation von HQ9++ auf der Webseite des Autors
- ↑ Dokumentation von HQ9+- auf der Webseite des Autors
- ↑ siehe dazu das Archiv 99 Bottles of Beer für mehr als 1000 Programmier-Beispiele, siehe auch das E-Book von Philipp Winterberg (pdf) (zu HQ9+: S.46)
Weblinks
- Dokumentation und Entstehungsgeschichte von HQ9+ (englisch) auf der Webseite des Autors
- Online Interpreter
Wikimedia Foundation.