Programmiersprache Chef

suchende3876

Cadet 1st Year
Registriert
Okt. 2013
Beiträge
12
Hallo ihr Lieben,

ich habe mal wieder ein Anliegen und komme einfach nicht weiter..

Meine Frage dazu:

kennt sich jemand mit der Programmiersprache Chef aus?
Ich habe mir mehrere Anleitungen im Netz dazu durchgelesen, kann aber einfach nichts damit anfangen, bzw sind dann Sachen dabei, wo es quasi in der Rührschüssel eine beliebige Reihenfolge wählen soll und da komm ich dann nicht weiter..

Ich habe quasi das Rezept.

Habe mir desweiteren einen (bzw zwei) Interpreter runtergeladen, einmal für Perl und einmal für c++. aber ich kann mit diesem Dateien-Wirrwarr einfach nichts anfangen.

Vielleicht kann mir jemand helfen?

Liebe Grüße

whizzel
 
soares schrieb:
Vielleicht wenn Du Dein Problem schilderst? ;)


oder ein Problem hast... Chef scheint nicht wirklich als ernsthafte Programmiersprache entwickelt worden sein... schaut eher aus als hätten das eine Horde Studenten beim 15.Bier programmiert...
 
Chef ist nur eins:

Eine Esoterische Programmiersprache

und nichts anderes.
 
Whitespace hat wenigstens den Vorteil dass die Ausdrucke tonersparend sind ;-)

Ansonsten ists aber n lustiges Gedankenspiel wie man Programmcode so verfassen kann. Gibt da ja durchaus auch sinnvolle Ansätze um Programmcode lesbarer zu machen (hab da mal was über einen Ansatz zur Verfassung von Unittests gehört, weiß blos leider den Namen nicht mehr. Das ganze hatte aber den Vorteil das man selbst als völlig Unbeteiligter sofort wusste was getestet und erwartet wird)
 
Vielleicht hätte ich es noch dazu schreiben sollen, dass es wohl nichts ernsthaftes ist?

Trotzdem kann ich mein Rezept nicht umsetzen und weiß nicht was am Ende die Ausgabe darstellen soll..

Versteht ihr das etwa?

..

Ich bin gespannt..
 
Zuletzt bearbeitet:
Hm, mal kurz die Beschreibung rauskramen... wichtig sind ja nur "Ingredients" als Vorbelegung der Variablen (bedarf glaub ich kleiner großen Erklärung) und "Method"

Method.
Put flour into the mixing bowl.
-> Inhalt von flour auf den Stack legen
Add sugar.
-> Inhalt von sugar addieren
Add salt.
-> Inhalt von salt addieren
Add butter.
-> Inhalt von butter addieren
Add egg.
-> Inhalt von egg addieren
Add lemon zest.
-> Inhalt von lemon zest addieren
Mix the mixing bowl well.
-> Stack in zufälliger reihenfolge neu anordnen. Da nur ein Wert auf dem Stack liegt (das Ergebniss der Additionen) ändert sich nichts
Divide cake pans into mixing bowl.
-> hier wirds schwierig (divide... into... ) ist das korrektes Englisch? Würd mal sagen wert auf dem stack = wert auf dem stack / cake pans
Liquify contents of the mixing bowl.
-> Wert auf dem Stack in Unicode-Zeichen umwandeln
Pour contents of the mixing bowl into the dish.
-> Zeichen ausgeben
-> müsste "3" sein (Unicode-Zeichen 51)
 
Zuletzt bearbeitet:
Vielen Dank, das scheint richtig zu sein..

Komisch, eigentlich habe ich nichts anderes gemacht zu Anfang. aber dann zuerst die 51 genommen und nicht umgewandelt, daher diese Idee dann wieder verworfen.

Als ich mir dann die Anleitung dazu angeschaut habe, habe ich das "add" so verstanden, dass es immer wieder dazu gelegt wird, aber nicht addiert. Deshalb hat mich auch das Mix und Divide so raus gebracht. Aber das es am Ende nun doch so einfach ist hätte ich nicht gedacht.

Vielen Dank!
 
Ein dazulegen als weiteren Wert am Stack wären weitere "put ... into ..." Anweisungen, das Add ist als Rechenoperation zu verstehen.

Das Mix kann einen auch erst etwas verwirren, da es schlussendlich nichts macht, da nur ein einziger Wert auf dem Stack liegt. Wenn man das beim "hello world" Programm vor der Ausgabe macht wirds lustig ;-)
 
Jesterfox schrieb:
Gibt da ja durchaus auch sinnvolle Ansätze um Programmcode lesbarer zu machen (hab da mal was über einen Ansatz zur Verfassung von Unittests gehört, weiß blos leider den Namen nicht mehr.

Da gibt's einiges, z.B. ScalaTest nutzt Scala als interne DSL für Tests:

Code:
"The blog app home page" should "have the correct title" in {
    go to (host + "index.html")
    pageTitle should be ("Awesome Blog")
  }
 
Zurück
Oben