Opentopia Directory Encyclopedia Tools

HQ9+

Encyclopedia : H : HQ : HQ9 : HQ9+



 

HQ9+ is a joke programming language created by Cliff Biffle that consists of only four 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 programs.

An example HQ9+ program would be: "HHQ+HQ++".

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 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 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 quite 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+ interpreters are extremely simple to write, so there have been many written. For example, [this] HQ9+ interpreter was written (in Python) in around five minutes and is only 18 lines long. And, [this] HQ9+ compiler written in 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 called HQ9++, also known as HQ9+ with Classes, created by David Morgan-Mar, an object-oriented language based on HQ9+. This adds a new command, ++, 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

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.


Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: