HQ9+
Материал из Википедии — свободной энциклопедии
HQ9+ — эзотерический язык программирования, созданный Клифом Биффлом (Cliff Biffle), который состоит из четырёх команд, каждая из которых представляет один символ: H, Q, 9, и +. Этот язык не является полным по Тьюрингу.
- Команда
H
выводит сообщение Hello, world! - Команда
Q
выводит куайн (т. е. исходный код выполняющейся программы) - Команда
9
выводит слова стихотворения 99 Bottles of Beer on the Wall - Команда
+
инкрементирует счётчик, который не имеет никакой возможности дальнейшего применения
Пример прикладной программы на языке HQ9+: HHQ+HQ++
. Эта программа выведет: Hello, world! Hello, world! HHQ+HQ++ Hello, world! HHQ+HQ++ и произведёт увеличение счётчика три раза.
Считается, что все полезные программы, написанные на HQ9+, работают вдвое быстрее, чем эти же программы, написанные на каком-либо другом языке программирования. Это утверждение верно, поскольку никакой полезной программы на HQ9+ написать нельзя.
HQ9+ — это шутливый язык, каждая команда которого представляет собой обычную задачу, которую выполняет начинающий программист, когда учится программировать, или когда изучает новый язык программирования. Обычное упражнение — написать программу, которая выводит сообщение Hello, world!. Существуют некоторые языки программирования, на которых это действительно трудно сделать, однако для HQ9+ это элементарная задача: программа H выведет это сообщение. Одна из труднейших задач для многих языков программирования — это вывести куайн. Но на языке HQ9+ все эти задачи становятся тривиальными.
Для языка HQ9+ легко создать интерпретатор, поэтому их было создано очень много. Например, интерпретатор HQ9+ на Python был написан приблизительно за 5 минут и имеет всего лишь 18 строк[источник?]. Также существует компилятор HQ9+, написанный на языке Си, который переводит исходный код с HQ9+ на Си и содержит всего лишь 40 строк[источник?].
Поскольку язык HQ9+ не поддерживает ввод данных, то на нём невозможно написать интерпретатор или компилятор для языка HQ9+.
Существует также другой шутливый язык программирования HQ9++, известный также как HQ9+ с Классами, объектно-ориентированная версия, созданная Девидом Морган-Маром (англ. David Morgan-mar). В ней добавлена новая команда, ++
, которая увеличивает счётчик два раза и создаёт объект. В соответствии с принципом сокрытия информации, доступ к этому объекту невозможен.