Revision 95395880 of "HQ9+" on enwiki{{not referenced}}
'''HQ9+''' is a [[joke programming language]] created by [[Cliff Biffle]] that consists of only four [[command (computing)|commands]], each represented by a single character: H, Q, 9, and +. It is not [[Turing-complete]], but it is highly efficient at certain types of [[computer program|programs]].{{fact}}
* The <code>H</code> command prints out [[Hello world program|"Hello, world!"]]
* The <code>Q</code> command prints out a copy of the [[source code]] of the program (i.e., it's a [[quine (computing)|quine]]).
* The <code>9</code> command prints out the lyrics for "[[99 Bottles of Beer|99 Bottles of Beer on the Wall]]".
* The <code>+</code> command increments the [[Accumulator (computing)|accumulator]], which happens to serve no purpose.
An example '''HQ9+''' program would be: <code>HHQ+HQ++</code>.
This program would output "Hello, world! Hello, world! HHQ+HQ++ Hello, world! HHQ+HQ++" as well as incrementing the accumulator three times.
It is claimed{{fact}} that all useful programs written in HQ9+ run over twice as fast as the same programs written in any other language. Since no useful programs can be written in HQ9+, this is [[vacuous truth|vacuously true]].
HQ9+ is a joke; each command represents a common task that beginners are given when learning to program, or that programmers give themselves when learning a new [[programming language]]. A common exercise, for example, is to write a [[computer program]] that prints "Hello, world!". There are some programming languages in which this is actually difficult; however, in HQ9+ the task is elementary, since the program "H" will accomplish the task. One of the hardest tasks in many programming languages is to write a quine, that is, a program which prints its own source code. However, in HQ9+, this is also trivial.
HQ9+ [[Interpreter (computing)|interpreters]] are extremely simple to write, so there have been many written. For example, [[Media:Hq9-plus.py|this]] HQ9+ interpreter was written (in [[Python (programming language)|Python]]) in around five minutes and is only 18 lines long. And, [[Media:hq9p.c|this]] HQ9+ [[compiler]] written in [[C programming language|C]] translates source code from HQ9+ to C, and is only about 40 lines long.
Since HQ9+ programs do not accept input, it is not possible to write an HQ9+ interpreter or compiler in HQ9+.
There is also another joke language{{fact}} called '''HQ9++''', also known as '''HQ9+ with Classes''', an [[object-oriented]] version created by [[David Morgan-Mar]]. This adds a new command, <code>++</code>, which increments the accumulator twice and instantiates an object. Following the principle of [[information hiding]], it is not possible to access this object.
==External links==
*[http://www.cliff.biffle.org/esoterica/hq9plus.html HQ9+]
*[http://www.dangermouse.net/esoteric/hq9plusplus.html HQ9++]
*[http://www.almnet.de/esolang/hq9plus.php online HQ9+ interpreter]
*[http://code.eachmapinject.com/esoteric/hq9plus.rb HQ9+ interpreter in] [[Ruby programming language|Ruby]]
[[Category:Esoteric programming languages]]
[[cs:HQ9+]]
[[es:HQ9+]]
[[it:HQ9+]]
[[ja:HQ9+]]
[[ko:HQ9+]]
[[pl:HQ9+]]
[[ru:HQ9+]]All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://en.wikipedia.org/w/index.php?oldid=95395880.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|