Autor Beitrag
lemming
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Di 21.10.03 13:48 
Beim stöbern in den Archiven von DerEntwickler habe ich einen Artikel über Pascal und sein zwanzigjähriges bestehen gefunden. In dem Artikel kam auch die Programmiersprache Brainfuck ins gespräch.

Ich habe mal danach gegoogelt und ein paar Seiten gefunden. Die Sprache besteht aus nur 8 Operatoren. Das ganze funktioniert irgendwie so das ein Pointer hin und her geschoben wird bis das gewünschte Ergebnis vorliegt.

So ein typisches Brainfuck Programm sieht so aus:
ausblenden Quelltext
1:
+++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]					


Das Programm gibt diesen Text aus:
ausblenden Quelltext
1:
'SOME MORE BLOODY STUPID TESTING!'					


Achja, der Brainfuck Compiler ist nur 240 Bytes groß. Es gibt angeblich sogar einen noch kleineren. 200 Bytes.

Kennt ihr Brainfuck und habt ihr schonmal damit was geamacht?
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Di 21.10.03 14:24 
Ich hab einen Interpreter geschrieben und eine art Sparcompiler. Das Ding hängt einfach das BF Programm als Resource an einen weiteren, minimalen Interpreter an, der die Resource ausführt. Außerdem eine IDE (Mehr oder weniger ;)). Naja, Release kommt, sobald ich die Docs fertig habe.
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Di 21.10.03 17:25 
lemming hat folgendes geschrieben:
So ein typisches Brainfuck Programm sieht so aus:
ausblenden Quelltext
1:
+++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]					


Das Programm gibt diesen Text aus:
ausblenden Quelltext
1:
'SOME MORE BLOODY STUPID TESTING!'					


Das glaub ich aber nicht! Das Programm erwartet eine Eingabe und wandelt diese in ein entsprechendes BrainFuck-Programm zur Ausgabe dieser Eingabe um.

barfuesser
Thunder
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 145

WinXP
D6 Pers
BeitragVerfasst: Di 21.10.03 17:43 
cool.

das intressiert mich. ich googel mal...
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Di 21.10.03 17:44 
Genau das macht es.
Für diesen Satz ist es auch viel zu klein, ein HalloWelt von mir sieht schon so aus:
>>+++++++++++++[<<+++++>>-]<< (Cell 1: 65)
+++++++. (H)
---. (E)
+++++++.. (LL)
+++. (O)
> >++++++++++[<+++>-]<++ .< ( )
++++++++. (W)
--------. (O)
+++. (R)
------. (L)
--------. (D)
>+.<, (!)

Alles, was in Klammern da steht ist bei meinem Interpreter ein Kommentar.
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Di 21.10.03 18:22 
Wer an primitiven "Sprachen" interresiert ist, der kann sich auch das Programm angucken. Es arbeitet eigentlich nach der gleichen Methode wie Brainfuck, nur mit dem Unterschied, daß hier nicht "++++++++++" geschrieben wird, sondern eher "Inc 10". Beide Codes sind genauso complizert, nur ist Brainfuck schwerer lesbar.

_________________
Popov
lemming Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Mi 22.10.03 08:32 
Wie ich sehe habt ihr alle schon ziemlich Ahnung davon. Ich dachte das wäre eine komplett unbekannte Geschichte.

Zu dem Code den ich oben gepostet hab, den hab ich auf einer eite gefunden wo die Contests machen, wer den kleinsten Code schafft.
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 22.10.03 10:51 
Ich habs damals soweit gebracht dass ich if-abfragen in meine "Programme" eingebaut hab. Aber dann hab ich auch irgendwann aufgegeben.

ausblenden Quelltext
1:
2:
3:
,[>>+>+<<<-]>>[<<+>>-]<+++++[>+++++++++++++<-]>>[<->-][-]+<[>-<[-]]>[[-]>++++++++[-<++++++++++>]<+++.>++[-<++++++++++>]<++++++++.++++.----.>++++++[-<---------->]<-------.>+[-<---------->]<--.>++++++[-<++++++++++>]<++++++++.>+[-<++++++++++>]<+++++++.>++++++++[-<---------->]<-----.>++++++++[-<++++++++++>]<+++++++.>+[-<---------->]<----.+++..+++++++.+.>++++++++[-<---------->]<----.>++++++[-<++++++++++>]<+++++.>+[-<++++++++++>]<+.+++++++.----.>+++++++[-<---------->]<---------.++.>+++[-<++++++++++>]<+.>+++[-<---------->]<-.-...[-]]<<<[>>+>+<<<-]>>[<<+>>-]<+++++[>++++++++++++++<-]>>[<->-][-]+<[>-<[-]]>[[-]
>+++++++[-<++++++++++>]<.>++[-<---------->]<------.>+[-<---------->]<--.>++++++++[-<++++++++++>]<+++++++.>+[-<---------->]<----.----.>++++++[-<---------->]<---------.>+++[-<++++++++++>]<++++++++.>++++[-<++++++++++>]<+.--------.--.+++++++.>++++++[-<---------->]<----.>+[-<---------->]<--.>+++[-<++++++++++>]<++++++++.>+++[-<++++++++++>]<+.>+[-<++++++++++>]<+++.>+[-<---------->]<----.>++++++[-<---------->]<--------.>++++++++[-<++++++++++>]<+++++.-------.>+[-<---------->]<.>++++++[-<---------->]<--------.>+++[-<++++++++++>]<++++++++.>++[-<++++++++++>]<+++++++.>++[-<++++++++++>]<.>+++++++[-<---------->]<-.
[-]]<<<


Das Programm erwartet eine Eingabe von A oder F.
Und hier ist der eigentliche Code fürs If:
In der 2. Zeile wird der ASCII-Code für das einzugebende Zeichen eingetragen... (A)

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
,

>+++++[<------------->-]< (A)

>[-]->[-]+<<[>+>[-]<]>
[ (ist A)

,. (Ein ZEichen einlesen und Ausgeben)

[-]]
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mi 22.10.03 11:18 
und was ist der Sinn von dem ganzen?? :roll:
JustQt
Hält's aus hier
Beiträge: 11


D5
BeitragVerfasst: Mi 22.10.03 11:21 
Titel: ...
Das ist jetzt nicht Euer Ernst, oder?? :eyecrazy:

Und ich dachte schon Perl sei kryptisch...
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Mi 22.10.03 11:46 
Wieso ist Perl kryptisch? Ich empfinde normalen Perl-Code als recht gut lesbar. Zugegeben man kann mit Perl wesentlich kryptischere Sachen als mit C machen. Und es gibt auch wunderschöne Einzeiler, die das illustrieren. Aber wieviele Quelltexte sind auf diese Art geschrieben?

Um aber mal ein Beispiel für eine sinnvolle Programmiersprache mit einem interessanten Konzept und teilweise kryptischem Quellcode (die Wörterbucheinträge) zu bringen: Was haltet Ihr von Forth?

barfuesser
joerg68
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 116

Win 2000
D5Enterprise
BeitragVerfasst: Mi 22.10.03 11:51 
Wenn ich mir die Codeauszüge so ansehe weiß ich jetzt warum die Sprache Brainfuck heißt :nut: :mrgreen: :puke:
Das ist ja ne Sprache für jemand der Vater und Mutter erschlagen hat
Gruß
Jörg

_________________
Aus den Chaos sprach eine Stimme " Lächele und sei froh denn es könnte schlimmer kommen". Und ich lächelte und ich war froh.
UND ES KAM SCHLIMMER
ak
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: Mi 22.10.03 12:24 
Zitat:
Das ist ja ne Sprache für jemand der Vater und Mutter erschlagen hat


hehe der war gut

_________________
Gruß AK
NCortex
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 126

WIN 2000
D7 Enterprise
BeitragVerfasst: Mi 22.10.03 15:51 
dem kann cih nur zustimmen....

vorallem, wie viel langeweile muss man haben, um damit eine if-abfrage zu coden, den sonst eh kein mensch versteht?

ich hab mir brainfuck mal ganz kurz angeguckt, aber dann schnell weggeschmissen, weil ich das bisschen Gehirn, was mir blieb noch behalten wollt..

_________________
"...by all means, do not use a hammer." (aus einer IBM Technikerdokumentation ca. 1920)
--->außer es kam von Microsoft<---
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Mi 22.10.03 17:26 
lemming Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Do 23.10.03 15:48 
So zum coden ist es schon spassig. Man konzentriert sich wirklich nur auf das absolut wesenstliche und man kann schöne Progs damit machen. So was ich gesehen habe.

Meiner Meinung nach gehts kaum Basicer. Das hat auch der CCC Köln entdeckt und denkt ernsthaft über eine Umsetzung in die Maschinenwelt nach.

The Game Of Life ist auch sowas womit man sich Stundenlang beschäftigen kann ohne das was richtig dabei raus kommt.
Spieler1
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 469


D6 Pers
BeitragVerfasst: Do 23.10.03 17:03 
Gibt es eigentlich auch größere oder sinnvolle Programme, die in Brainfuck geschrieben wurden? Theoretisch ist damit doch alles möglich, oder? Nur praktisch ist es halt .... kompliziert. :lol:
Wie ist eigentlich Assembler im Vergleich zu Brainfuck? Ich kann beides nicht :oops: . Ist Assembler einfacher?
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 23.10.03 17:34 
Mit Brainfuck lassen sich theoretisch alle Probleme lösen (da es eine Touringmaschine ist). Praktisch aber nicht, weil du nicht beliebig viel RAM und Rechenleistung zur Verfügung hast.
Allerdings habe ich auch schon BrainFuck-Programme gesehen, die Primzahlen (Primfaktorzerlegung) u.a. ausrechnen. Da muss man dann aber schon wirklich langeweile haben.
Besonders lustig sind Programme die den eigenen Quellcode ausgeben.
z.B: das:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
>++++++++>++++++>+>+++>++++++>++>+++++>++++>++++++>+>+++>++++>++
+++>+>++++++>+++>+++>+++++>+++++++>+++>++++++>++++>++>++>++++++>
++++>+++>+++>+>++>++>+++++>+++++>++>++++>++++++>+>++>++++>+++++>
++>++++++>++++>+++>+>++++++>++++>+++>+>+++++>++++>+++>+>++++++++
>++>++++>++++++>+>++>++++>+++++>+>+++++>+++>+>++>++++>+++++>+>++
+>++++++>+>+++>++++++>++>+++++>++++>++++++>+>+++>++++>+++++>+>++
++++>+++>+++>+++++>+++++++>+++>+++>++++++>++>++>+++++>++>++++++>
++++>+++>+++++++>++>+++++>+++>+++>+++>+++++++>++>++>++>++>++++>+
+++++>+>++>++++>+++++>++>++++++>++++>++++++++>+++>+>++++++>++++>
+++>+>+++++>++++>+++>+>++>++++>++++++>+>++>++++>+++++>+>+++++>++
+>+>++>++++>+++++>+>+++>++++++>++>+++++>++++>++++++>+>+++>++++>+
++++>+>++++++>+++>+++>+++++>+>+>+>+>+>+>+>+>+>+>++>++>+>++>++>+>
+>+>++>++>+>++>++>++>++++++++>++>++>++>+>+>++>++>++++>++++>++>++
>++++>+++>++++++>++++>++>++++++>+++>+++>+++++>+>+>+>++>++>+>+>+>
+>+>+>++>++>+>+>+>+>+>+>++>++>+>+>+>++>++>+>+>+>+>++>++>+>+>+>+>
++>++>+>+>+>++>+++++>++>++++++++>++++++>++++>+++>+>+>+>++>+++++>
+>+>+>+>+>++>++>++>++++++>++>+++++>++++>++>++>++++++>+++>+++>+++
+++>++++>++>++++++>+++>+++++>+>+++>++++++>++>+++++>+++++>++++>++
>++++++>+++>+++++>+>++++++>++>+++++>++>++++++>++++>+++>+++>+>++>
+>++>+++++>+++++>+++>+++>+++>++++>++>++>++
>>>-<<<[[>+>+<<-]>[>]+[<]>-[[>]<+[<]>-]<<]>>-[>]>>>+++++[>+++<-]
>[>+++>>++++>>++++>>+++>>++++++>>++++++>>+++[<<]>-]<->>-->>++>>>
>>>+>>+++>>+>>++++++++++[<<]+[-<+]-[>]<+[->+<[+[->+]->+<-[+<-]+<
-]>[->+]->>>>.<<<[>.<-]>[>>]<<.[<<]+[-<+]-[>]<+]<+[->+<[+[->+]->
+<-[+<-]+<-]>[->+]->[[>>+<<-]>>-]<.[<<]+[-<+]-[>]<+]


ka wie man auf sowas kommt
lemming Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Fr 24.10.03 10:43 
Zitat:
Wie ist eigentlich Assembler im Vergleich zu Brainfuck? Ich kann beides nicht . Ist Assembler einfacher?


Ja es ist einfacher, aber kaum vergleichbar. Sieht zwar beides komisch aus, für einen OO-Programmierer.
NCortex
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 126

WIN 2000
D7 Enterprise
BeitragVerfasst: Fr 24.10.03 11:51 
also: ich hab zwar den komischen compiler für brainfuck, aber wenn ich die quellcodes von heir nehm spuckt der nix aus, liegt das an mir???

_________________
"...by all means, do not use a hammer." (aus einer IBM Technikerdokumentation ca. 1920)
--->außer es kam von Microsoft<---