13-10-2023
HQ9+ — эзотерический язык программирования, созданный Клифом Биффлом (Cliff Biffle), который состоит из четырёх команд, каждая из которых представляет один символ: H, Q, 9, и +. Этот язык не является полным по Тьюрингу.
Содержание |
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 | Hello world! |
HQ | Hello world! HQ |
QQQQ | QQQQ QQQQ QQQQ QQQQ |
Q+Q+Q | Q+Q+Q Q+Q+Q Q+Q+Q |
Основные языки программирования (сравнение • IDE • история • хронология) | |
---|---|
Используемые в разработке |
Ада • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET) |
Академические | |
IEC 61131-3 |
Instruction List • ST • FBD • Ladder Diagram (LD) • SFC |
Прочие | |
Эзотерические | |
Визуальные |
HQ9+.