BrainFuck, auch BrainF*** oder kurz BF genannt, ist eine esoterische Programmiersprache. Sie ist also keine produktiv eingesetzte Sprache, sondern setzt eine neue Idee um. Sie besteht nur aus acht Befehlen.
Bei BrainFuck wird eine Turing-Maschine gesteuert. Die Turing-Maschine besitzt ein Speicherband, das nach links und rechts bewegt werden kann und auf dem Werte gespeichert und wieder gelesen werden können. BrainFuck simuliert dieses Speicherband. Mit den Befehlen '<' und '>' wird das Speicherband nach links beziehungsweise rechts bewegt.
Der Inhalt auf dem Speicherband kann durch '+' und '-' beeinflusst werden. Der an der aktuellen Stelle auf dem Speicherband wird dadurch um eins erhöht oder vermindert.
'[' und ']' bedeuten eine Schleife. Ist der aktuelle Wert bei null, so wird von '[' zum entsprechenden ']' gesprungen. Sonst wird das Programm normal weiter ausgeführt. Bei ']' wird wieder zu '[' zurückgesprungne, falls der aktuelle Wert ungleich null ist.
Die Ein- und Ausgabe wird mit '.' und ',' realisiert. Mit ',' wird der Benutzer aufgefordert, ein Zeichen einzugeben, das dann der aktuelle Wert wird. '.' zeigt den aktuellen Wert des Speicherbandes auf dem Bildschirm.
BrainFuck ist so mächtig, wie viele populäre Programmiersprachen. Man könnte damit sogar ein Windows programmieren, wenn man nur die Gedult hätte.
Das Programm benötigt eine Java Virtual Machine der Version 5.0 oder höher.