Home - Programmieren - Brainfuck - Die Programmiersprache
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Brainfuck Brainfuck wurde im Jahre 1993 von Urban Mueller als eine der wenigen minimalistischen Programmiersprachen entwickelt. Sie setzt die Prinzipien der Turing-Maschine, welche im Zweiten Weltkrieg zur Entschlüsselung der Engima-Verschlüsselung benutzt wurde, virtuell um. Daten und Fakten Der C-Sourcecode eines in Brainfuck geschriebenen Programms hat nur eine minimallänge von 1055 Bytes - also rund 1KB. Brainfuck arbeitet (standardmäßig) auf einem 30000 Bytes großen Array und einem Pointer, der irgendwo in das Array zeigt. Der Pointer kann vor- und zurückgesetzt werden, die Werte unter dem Counter können hoch- und runtergezählt, eingelesen und ausgegeben werden. Außerdem gibt es ein sehr hübsches Schleifenkonstrukt. Befehle Brainfuck kommt mit sage und schreibe 8 Befehlen aus. Daher kommt auch die Bezeichnung "minimalistische" Programmiersprache da die Sprache über ein Minimum an Befehlen - in diesem Fall 8 - verfügt.
Jedes Array und jedes Element eines Arrays wird, mit dem ersten Setzen des Pointers auf dieses Element mit 0 initialisiert. Der Pointer selbst steht zu Beginn ebenfalls immer auf 0. Beispiel
Selbst erfahrenen C Programmierer versetzt ein solchen Quellcode erstmal einen Schock. Hier nun ein paar Kommentare:
Dieser Vorgang wird solange wiederhohlt bis alle Zeichen von "Hello World!" als ASCII-Code einmal berechnet wurden und ausgegeben wurde. Doch wieso das ganze so umständlich? Warum nicht gleich 72 mal ein Plus schreiben und anschließend nen Punkt? Nun das hängt mit der Vorliebe von Programmierern für cryptische Quellcodes zusammen. Oder was auch ne Möglichkeit wäre das >+++++++++[<++++++++>-]<. schneller schreiben läßt als 72 mal ein Plus und die größe des Programms nicht unnötig anschwillt. Ein paar Worte zu Brainfuck Bevor jetzt die Frage aufkommt, wieso soll ich überhaupt Brainfuck verwenden oder wozu wurde Brainfuck erfunden, werd ich auch diesen interessanten Punkt noch erläutern. Brainfuck ist eine so genannte Write-Only-Sprache. Dieser Begriff rührt daher das es hundert mal einfach ist ein Programm in Brainfuck neu zu schreiben als eines, eines anderen Entwicklers zu verstehen. Von daher ist es fast unmöglich ein komplettes in Brainfuck geschriebenes Programm zu erweitern bzw. auszubauen. Wobei es schon ein Ding der Unmöglichkeit ist überhaupt ein größeres Programm in Brainfuck zu schreiben. Fehlersuche und ähnliches ist unter Brainfuck extrem umständlich und langwirig und was erschwerend dazukommt ist, das es in Brainfuck keine Kommentare gibt. Brainfuck kann man in den Bereich der Konzept-Sprachen einordnen. Urban Mueller hat sie damals entwickelt um das Prinzip einer Turing-Maschine virtuell abzubilden und damit zu beweisen das es keine genau definierte mathematische Funktion gibt die sich nicht mit einer Turing-Maschine abbilden bzw. berechnen läßt. Ein umfassendes Archiv rund um Brainfuck sowie Compiler und Source-Code findet ihr unter folgender Adresse: http://esoteric.sange.fi/brainfuck/.
|
![]() ![]() ![]()
Autoren:04516
Artikel:00815 Glossar:04116 News:13565 Userbeiträge:16552 Queueeinträge:06254 ![]()
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News] ![]()
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|