HQ9+

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!
HQ
QQQQ QQQQ
QQQQ
QQQQ
QQQQ
Q+Q+Q Q+Q+Q
Q+Q+Q
Q+Q+Q

Einzelnachweise

  1. Dokumentation von HQ9++ auf der Webseite des Autors
  2. Dokumentation von HQ9+- auf der Webseite des Autors
  3. 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


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • HQ9+ — HQ9+  эзотерический язык программирования, созданный Клифом Биффлом (Cliff Biffle), который состоит из четырёх команд, каждая из которых представляет один символ: H, Q, 9, и +. Этот язык не является полным по Тьюрингу. Содержание 1 Команды 2 …   Википедия

  • HQ9+ — es un lenguaje de programación esotérico que consiste en sólo cuatro instrucciones, cada una de un solo carácter: H, Q, 9, y + (de ahí el nombre). No es Turing completo, pero es muy eficaz para hacer ciertos tipos de programas. Contenido 1… …   Wikipedia Español

  • HQ9 más — HQ9+ es un lenguaje de programación esotérico que consiste en sólo cuatro instrucciones, cada una de un solo carácter: H, Q, 9, y + (de ahí el nombre). No es Turing completo, pero es muy eficaz para hacer ciertos tipos de programas …   Enciclopedia Universal

  • HQ9++ — …   Википедия

  • Эзотерические языки программирования — вид языков программирования, не предназначенных для практического применения. Образец компьютерного юмора. Эзотерические языки придумываются для развлечения, часто они пародируют «настоящие» или являются абсурдным воплощением «серьёзных»… …   Википедия

  • HQ-9 — The HQ 9 ( zh. 红旗; pinyin: hóng qí ) is China’s new generation medium to long range, semi active radar homing air defence missile.cite journal |author=「黃河」 |year=2001 |month=Jan |title=巡天神箭 紅旗9號與紅旗家族動態 |journal=Defence International |issue=114… …   Wikipedia

  • Liste von Hallo-Welt-Programmen/Sonstige — Dies ist eine Liste von Hallo Welt Programmen für grafische Benutzeroberflächen, Web Technologien, exotische Programmiersprachen und Textauszeichnungssprachen. Weitere Beispiele für gebräuchliche Programmiersprachen sind unter Liste von Hallo… …   Deutsch Wikipedia

  • Weird Programming — Esoterische Programmiersprachen sind Programmiersprachen, die nicht für den praktischen Einsatz entwickelt wurden, sondern ungewöhnliche Sprachkonzepte umsetzen. Eine einfache Bedienung ist selten, teilweise werden Sprachen konzipiert, um… …   Deutsch Wikipedia

  • Эзотерический язык программирования — Эзотерические языки программирования вид языков программирования, не предназначенных для практического применения. Образец компьютерного юмора. Эзотерические языки придумываются для развлечения, часто они пародируют «настоящие» или являются… …   Википедия

  • People's Republic of China — Infobox Country native name = zh. 中华人民共和国 (Simplified Chinese characters) zh. 中華人民共和國 (Traditional Chinese characters) Zhōnghuá Rénmín Gònghéguó conventional long name = People s Republic of China common name = People s Republic of China symbol… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”