Brainf***
Also known as Brainfuck. Created by Urban Müller in 1993 in an attempt to create the world's smallest Turing-complete compiler. It is noted as an esoteric programming language, as it is not ordinarily used for applications development, but it also noted as being a minimalist language.
The complete specification for the language can be summed up with the following eight symbols:
Character | Meaning |
---|---|
>
|
increment the pointer (to point to the next cell to the right). |
<
|
decrement the pointer (to point to the next cell to the left). |
+
|
increment (increase by one) the byte at the pointer. |
-
|
decrement (decrease by one) the byte at the pointer. |
.
|
output the value of the byte at the pointer. |
,
|
accept one byte of input, storing its value in the byte at the pointer. |
[
|
jump forward to the command after the corresponding ] if the byte at the pointer is zero.
|
]
|
jump back to the command after the corresponding [ if the byte at the pointer is nonzero.
|
Alternatively, the ]
command may instead be translated as an unconditional jump to the corresponding [
command, or vice versa; programs will behave the same but will run more slowly.
All other symbols, including traditional whitespace characters, are interpreted as comments.
Due to this minimal instruction set, Brainf*** is used as an introduction to compilers and has even been successfully implemented as a microprocessor core and the foundation to an operating system using a slightly extended syntax for output.
Citations
Programming Language
This is a programming language. It may be used to instruct computers to accomplish a variety of tasks which may or may not be domain-specific.