Revision 92683826 of "HQ9+" on enwiki'''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]]. * 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 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 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=92683826.
![]() ![]() 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.
|