## Brainfuck

von TOMAES
Auch wenn man es im ersten Augenblick nicht glauben mag, aber Brainfuck ist eine Programmiersprache. Erdacht wurde sie von Urban Müller aus der Schweiz, Anfang der 90er Jahre. Wie der Name schon vermuten lässt, handelt es sich bei BF nicht um eine pflegeleichte Programmiersprache für den täglichen Gebrauch. Ganz im Gegenteil. Eigentlich ist es eine ziemlich üble Parodie auf Programmiersprachen.
Im Grunde gibt es nur 8 verschiedene Befehle. Zwei mathematische Funktionen (+ und -), um eine Speicherstelle zu verändern. Mit Hilfe eines anderen Befehls-Zwillings kann man sich im Speicher vor/zurück bewegen ( < und >). Außerdem kann man mit zwei weiteren Befehlen Schleifen konstruieren ([ und ]). Mit einem Punkt (ja genau, einem ".") lässt sich der ASCII-Wert der aktuellen Speicherzelle auslesen, und mit einem Komma (",") lässt sich ein Zeichen einlesen. Das war's auch schon.
Wem das Grauen jetzt noch nicht so richtig packen will, sei dieses kleine "Hallo World"-Beispiel ans Herz gelegt:

    &gt;++++++++[&lt;++++++++&gt;-]&lt;.&gt;+++++++[&lt;++++&gt;-]&lt;+.+++++++..+++.
    [-]&gt;++++++++[&lt;++++&gt;-]&lt;.&gt;+++++++++++[&lt;+++++&gt;-]&lt;.&gt;++++++++
    [&lt;+++&gt;-]&lt;.+++.------.--------.[-]&gt;++++++++[&lt;++++&gt;-]&lt;+.[-]
    ++++++++++.

Na?!? Siehst du jetzt ein, warum es ca. 20 Mal einfacher ist ein Brainfuck-Programm selbst zu schreiben, als zu versuchen fremden Quellcode zu lesen? Brainfuck eben, der Name ist Programm. Hier noch so ein Beispiel, diesmal wird eine Zahl mit 10 multipliziert (übrigens viel kürzer als "hello world")..

    [&gt;+&lt;-]&gt;&gt;&gt;++++++++++[&lt;&lt;[&lt;+&gt;&gt;+&lt;-]&gt;[&lt;+&gt;-]&gt;-]&lt;&lt;[-]&lt;

Und der Sinn dahinter? Eigentl. gibt es nicht wirklich viel Sinn, außer der Tatsache, dass sich mit den acht BF-Befehlen theoretisch jedes Programmier-Problem lösen lässt. Ansonsten gilt:
Die ABPS sind als Absurditäten, als Monstren menschlicher Phantasie, oder schlicht als Witz entwickelt worden. Oft ist ein didaktischer Wert intendiert, denn als schlechtes Beispiel können diese Sprachen allemal dienen. (T.Thelen)
ABPS = Absichtlich Bescheuerte ProgrammierSprachen =))
Damit wäre eigentlich alles gesagt. Und nun soll einer kommen und Pascal, C oder Assembler schlecht machen `;-)`

    <font color="c03626">(</font><a href="mailto:Tomaes@web.de" title="Mail an Autor">Tomaes</a><font color="c03626">)</font>