Brainfuck

The brainfuck programming language is an esoteric (weird and unusual) programming language. It was created by Urban Müller in 1993. It has eight instructions (commands) which operate (do things on) a tape. Instructions are done one by one, in order. The tape has multiple sections. Each section is a number. Each section is, in the beginning, zero. Brainfuck is like a Turing machine. 

 Instruction table 
+InstructionAction +Add one to the current tape section. -Subtract one from the current tape section. <Move to the tape section to the left of the current one. >Move to the tape section to the right of the current one. .Print the value of the current tape section as an ASCII symbol.  ,Read an ASCII symbol into the current tape section as a number. [If the current tape section is zero, go to the matching ], skipping the instructions in between. ]If the current tape section is not zero, go back to the matching [, and do the code after it again. 

 Examples 
[-] If the current section is not zero, these three commands subtract one until the current section is zero. Otherwise, they leave it at zero. +++--These five commands first add three to the current section. Then, they subtract two from the current section. Since , these five commands are the same as "+" alone.

+++
>
+++++
<
[>+<-]
> This program will set the first two sections of the tape to three and five, then add them. The loop adds one to the second section and subtracts one from the first until the first reaches zero.

 Derivatives 
As a result of brainfuck's fame, many derivatives (versions) of brainfuck have been created. These include Brain-Flak, pbrain, and tinyBF. Most are also Turing complete, just like brainfuck.

References

Category:Programming languages