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:
>++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.
[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++
[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]
++++++++++.
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")..
[>+<-]>>>++++++++++[<<[<+>>+<-]>[<+>-]>-]<<[-]<
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 ;-)
(Tomaes)