Was ist Brainfuck?
Wie funktioniert sie?
Das Programm arbeitet auf einem langen Band von Speicherzellen und einem Zeiger darauf. Die beiden spitzen Klammern bewegen den Zeiger nach links oder rechts, Plus und Minus erhöhen und verringern den Wert in der aktuellen Zelle.
Der Punkt gibt den Wert als Zeichen aus, das Komma liest eines ein. Die eckigen Klammern bilden eine Schleife, die läuft, solange die aktuelle Zelle nicht null ist. Mehr gibt es nicht.
Wie sieht ein Programm aus?
Ein Programm, das nur den Buchstaben A ausgibt, besteht aus 65 Pluszeichen und einem Punkt. Ein vollständiges Hallo-Welt-Programm ist über hundert Zeichen lang und sieht aus wie ein Tastaturunfall.
Warum baut jemand so etwas?
Urban Müller schrieb die Sprache 1993 mit einem einzigen Ziel: den kleinstmöglichen Übersetzer dafür zu bauen. Seine erste Fassung für AmigaOS brauchte 296 Byte, die zweite nur noch 240.
Vorbild war die Sprache FALSE, deren Übersetzer 1024 Byte groß war. In der Beilage stellte Müller eine Frage, die den Ton der ganzen Sache trifft: Wer kann damit etwas Nützliches programmieren?
Brainfuck gehört damit zu den esoterischen Programmiersprachen, die nicht zum Arbeiten gedacht sind, sondern als Beweis, als Scherz oder als Denksportaufgabe.
Kann man damit alles programmieren?
Theoretisch ja. Die Sprache ist turingvollständig, was heißt, dass sich mit ihr jedes berechenbare Problem lösen lässt, wenn man genug Zeit und Speicher hat.
Praktisch hört der Spaß bei etwa dreißig Zeilen auf, und genau darin liegt die Anerkennung: Wer in Brainfuck etwas Funktionierendes schreibt, hat es nicht nötig, das zu erklären.
Mehr aus Technik & Netz
Layer-8-Problem — Ein Layer-8-Problem sitzt vor dem Rechner.
run cmd — run cmd ist der kürzeste Weg zur Kommandozeile unter Windows: Windows-Taste und R drücken, cmd eintippen, Enter.
Und, gemerkt?
Mit wie vielen Zeichen kommt die Sprache Brainfuck aus?