Brainfuck - Was ist das?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Registriere dich um viele Vorteile zu genießen! Weniger Werbung, bessere Kommunikation und vieles mehr!

  • Kennt ihr schon die Programmiersprache Brainfuck? Hier findest du eine kurze Beschreibung!
    Kurze Sprachbeschreibung

    In brainfuck ist der Speicher als eine Liste von einzelnen Zahlenwerten ausgelegt (im Prinzip ein »Array of Integer« oder »Array of Char«). Dazu kommt ein Index, der angibt, welche Zelle in dieser Liste gerade aktiv ist. Mit > und < wird dieser Index-Zeiger verändert, mit + und - der Inhalt einer Zelle.
    Schliesslich lassen sich mit eckigen Klammern Schleifen und Bedingungen realisieren. Über Punkt und Komma werden Werte eingelesen oder (auf den Bildschirm) geschrieben. Alle anderen Zeichen werden in brainfuckignoriert.
    >Nächste Zelle: Der Listenindex wird um eins erhöht.
    <Vorhergehende Zelle: Der Listenindex wird um eins zurückgesetzt.
    +Zellenwert vergrössern: Zum aktuellen Zellenwert wird 1 dazugezählt.
    -Zellenwert verkleinern: Vom aktuellen Zellenwert wird 1 abgezogen.
    .Ausgabe: Den aktuellen Zellenwert ausgeben.
    ,Eingabe: Ein Zeichen von der Eingabe lesen und in die aktuelle Zelle schreiben.
    [Blockbeginn: Wenn der aktuelle Zellenwert Null ist, wird der Block übersprungen.


    Hallo Welt in Brainfuck

    Beim Lernen einer neuen Programmiersprache ist es üblich, zuerst einmal ein Programm zu schreiben, das »Hallo Welt« (oder »Hello World«) auf den Bildschirm schreibt. In den meisten Programmiersprachen ist das allerdings völlig trivial und sagt nichts über die Sprache selber aus. Aus diesem Grund kam ich auf die Idee, als Einstieg jeweils einen kleinen Brainfuck-Interpreter zu schreiben, der das »Hallo Welt«-Programm in brainfuckausführen und eben so »Hello World« auf den Bildschirm schreiben kann.
    Die so zusammengestellten Programme sind nicht perfekt und weder besonders effizient noch aussergewöhnlich klein (das ursprüngliche Ziel von brainfuck war ja eben, einen möglichst kleinen Interpreter dazu schreiben zu können). Aber die Programme können einen Vorgeschmack geben, wie die Sprache etwa aussieht. Manchmal sind auch mehrere Varianten aufgeführt, um verschiedene Techniken zu demonstrieren.
    Weil es für »Hello World« keine Eingaben braucht, habe ich bei den Interpretern jeweils darauf verzichtet (bei einigen Programmiersprachen gestaltet sich die Eingabe auch als sehr schwierig oder aufwändig). Es sind also nicht ganz vollständige brainfuck-Interpreter.
    Schliesslich habe ich versucht, zu jeder Sprache einige kurze Informationen zusammenzustellen. Zu den bekannteren Sprachen etwas weniger, zu den ungewöhnlicheren Sprachen etwas mehr. Zudem ist überall angegeben, was du brauchst, um das Programm auch selber ausuzführen. Aus Zeit- und Platzgründen kann ich aber weder eine eigentliche Einführung in die Sprache noch eine ausführliche Installationsanleitung für die Compiler zur Verfügung stellen.

    Hier noch das »Hello World«-Programm in brainfuck :
    >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.

    Viel Spaß!

    Quelle: tobiaskohn.ch/computers/proglang/index.html

    Gruß,
    Kerbo

    402 mal gelesen

Kommentare 6

  • EnderCookie -

    Was kommt als nächstes? Eine Einführung in LOLCODE (lolcode.org/)?

  • Yxns -

    Wer erfindet sowas? 8|

  • KingSarkasmus -

    Alter.... ich hab zwar psychisch voll den Knacks weg aber so kacke gehts mir noch lange nicht... xD Dennoch mal interessant es gesehen zu haben, danke :)

  • JustJofe -

    Ich wusste zwar schon vorher, wie Brainfuck funktioniert, jedoch wüsste ich gerne mal ob diese Sprache zu irgendwas wirklich zu gebrauchen ist.

    • Kerbo -

      Wenn man nichts zu tun hat und in eine Psychiatrie möchte, dann befasst man sich mit dieser Sprache.