HQ9+

HQ9+

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

Содержание

Команды

  • Команда H выводит сообщение Hello, world!;
  • Команда Q выводит исходный код программы, которая выполняется (то есть, quine);
  • Команда 9 выводит слова стихотворения 99 Bottles of Beer on the Wall[1];
  • Команда + увеличивает на единицу (инкрементирует) счетчик, который не имеет никакой возможности дальнейшего применения.

Общие сведения

HQ9+ — это шуточный язык, каждая команда которого представляет собой обычную задачу, которую выполняет начинающий программист, когда учится программировать, или когда изучает новый язык программирования. Обычное упражнение — написать программу, которая выводит сообщение Hello, world!. Существуют некоторые языки программирования, на которых это действительно трудно сделать, однако для HQ9+ это элементарная задача, команда H выведет это сообщение. Одна из наитяжелейших задач для многих языков программирования — это вывести quine (собственный код). На HQ9+ эти задачи становятся тривиальными.

Интерпретатор для HQ9+ очень легко написать, поэтому их было создано очень много. Например, интерпретатор HQ9+ на Python был написан приблизительно за 5 минут и имеет всего лишь 16 строк. Также существует транслятор, написанный на Си, который переводит исходный код с HQ9+ на Си и содержит всего лишь 40 строк.

Поскольку HQ9+ не поддерживают ввод данных, то невозможно на языке HQ9+ написать интерпретатор или компилятор к языку HQ9+.

Существует также другой шутливый язык программирования HQ9++, известный также как HQ9+ с Классами, объектно-ориентированная версия, созданная Девидом Морган-Маром (David Morgan-mar). В ней добавлена новая команда, ++ , которая увеличивает счётчик два раза и создает объект. В соответствии с принципом сокрытия информации, доступ к этому объекту невозможен.

Кроме того, существует язык HQ9±, в котором по сравнению с HQ9++ добавлен оператор '-' для проверки правильности программы. Результаты проверки зависят от местонахождения оператора:

  • если он стоит первым символом в программе, то это синтаксическая ошибка
  • после 'H' — происходит ошибка ввода-вывода
  • после 'Q' — программа уходит в бесконечную рекурсию (хорошая реализация должна рухнуть после переполнения стека)
  • после '9' — начинается бесконечный цикл
  • после '+' — производится деление единицы на ноль
  • после '++' — выбрасывает виртуальное исключение, являющееся методом нового подкласса стандартного суперкласса. В соответствии с лучшими принципами сокрытия данных, не существует способа перехватить это исключение.

Примеры

Исходный код Вывод
H Hello world!
HQ Hello world!
HQ
QQQQ QQQQ
QQQQ
QQQQ
QQQQ
Q+Q+Q Q+Q+Q
Q+Q+Q
Q+Q+Q

Ссылки

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "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… …   Deutsch Wikipedia

  • 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


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»