An interesting ProgrammingLanguage. It is very easy to learn, but can get extremely confusing.
The language has 8 different commands. They use a nameless pointer to manipulate an array of at least 30000 cells, all initially set to 0. The pointer starts at the left end of the array.
As they say about Perl: There are many ways to skin a Camel This also holds true for Brainf*ck.
means:
After this bit of code, the variable we are currently referencing has a value of 2, and the next variable has a value of 4.
++++++++++.
A big archive of brainfuck programs and implementations is at http://esoteric.sange.fi/brainfuck/ .
There's more info about the language on
this page and
this page.
The language ignores any character in the program source code which is not a valid brainfuck command. This allows us to put comments in our code, as long as we make sure we do not accidentally use one of the language constructs in our comments. Or comments can be placed in a [] block, at a point in the code where the pointer is known to be at a zero cell.
GerwinVanDeSteeg is planning on writing his own Compiler and an Interpreter for this language sometime in the near future. There are many available already on the WorldWideWeb; to find one, try Google.
I've just written one. Insomnia has its own imperatives. Here you go: brainfux0r.ml. It is written in Ocaml?. It has a compiler (it compiles to C), an imperative interpreter and a functional interpreter. The functional interpreter has an infinite Turing tape as memory. I wrote and rewrote this program several times to try out various Ocaml features. (I'm following the advice on StuffToCode.) --GlynWebster
CategoryProgrammingLanguages, CategoryObfuscatedProgrammingLanguages
4 pages link to Brainf*ck: