Funktionale Sprachen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

Beitragvon BlackJack » Donnerstag 23. August 2007, 20:34

Dann solltest Du es mal überarbeiten. Entweder "traditionell" in Funktionen auslagern, oder mit Makros arbeiten. Die sind ja schliesslich eine der Spezialitäten von Scheme und Lisp.

Ich denke mal das komplizierteste bei Scheme sind "continuations", ansonsten ist das eine sehr einfache Sprache.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Donnerstag 23. August 2007, 20:42

schlangenbeschwörer hat geschrieben:edit: Ich hätt ja gern auch noch ein Codebeispiel gebracht, aber was ich gefunden habe, war entweder kurz und sinnlos oder zu lang.
:arrow: Das Sudokuprogramm mit allem drum und drann hat 1500 Zeilen Code. Wobei da viel c&p Zeug dabei ist...
http://markbyers.com/moinmoin/moin.cgi/ShortestSudokuSolver *g*
Mit google findet man aber auch noch andere Sudoku Solver in Funktionalen Sprachen welche richtig elegant wirken.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Beitragvon schlangenbeschwörer » Freitag 24. August 2007, 05:44

Wie gesagt, es war in sehr frühen Zeiten und ich hab nicht mehr verstanden. Zudem war ca. die hälfte Graphik. Und kein GUI, sondern alles selbstgebautes, buntes, tw. rundes Zeug.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Sonntag 2. September 2007, 20:08

Leonidas hat geschrieben:Das ist eben das Buch von dem ich sprach, das Wizard-Book, in dem am Schluss eine Scheme Implementation geschrieben wird. Ist aber nicht als Buch vor dem Schlafengehen geeignet. ;) Mich würde dann deine Meinung zum Buch interessieren.
Ich hab mir das Buch jetzt auch zugelegt und bis Kapitel 3 durchgelesen, wenn auch nicht durchgearbeitet. Kapitel 4 habe ich mir dann nur noch zum Teil angetan, Kapitel 5 nur noch quergelesen. Wer auch mal drin schmökern will, auf Englisch hier: http://mitpress.mit.edu/sicp/full-text/book/book.html. Ich halte die deutsche Übersetzung sowieso für ziemlich schlecht. Insbesondere der Versuch, auch die Bezeichner in den Programmen zu übersetzen, der nicht immer konsequent umgesetzt wurde, hat zu vielen Fehlern in den Programmtexten geführt.
Ansonsten ist das Buch interessant. Es zeigt doch neue Aspekte des Programmierens, z.T. auch mit sehr interessanten Beispielanwendungen (z.B. symbolische Differentialrechnung, elektrische Schaltkreise etc.). Ob hierzu Scheme aber die ideale Sprache ist? An die polnische Notation gewöhnt man sich ja noch recht schnell, aber diese ganzen Klammern. Da verliert man schnell den Überblick, was wohin gehört. Deshalb habe ich mir den Schluss auch nicht mehr angetan. Ich glaube, man hätte das meiste auch gut mit Python darstellen können.
OCaml halte ich bei dem, was ich bisher von diesen Sprachen weiß, für einfacher und mit verschiedenen hilfreichen Features: Pattern-Matching, OOP, die übersichtlichere Syntax und für den, der es braucht, Typsicherheit und den wohl effektiveren Compiler.
Die Frage ist aber
veers hat geschrieben:Mein Problem mit funktionalen Sprachen ist vor allem das ich nicht weiss wann ich sie verwenden sollte. Scheme habe ich mal etwas im zusammenhang mit Gimp gebraucht. Aber das war es dann auch schon mit praktischer anwendung. Naja auch als vim Benutzer werde ich mir wohl mal die Zeit gönnen und Lisp lernen. Und sei es nur aus reiner Freude am lernen.
Am ehesten könnte ich mir dafür noch irgendwelche mathematischen Anwendungen vorstellen. Dafür wäre es dann aber wohl sinnvoller, eine komplett funktionale Sprache wie Haskell zu verwenden, um side-effects sicher auszuschließen oder um es mit birkenfelds Worten zu sagen:
birkenfeld hat geschrieben:Und der Gedanke: wenn ich mir schon eine neue Programmiersprache anschaue und evtl. sogar aneigne, dann sollte es eine ganz radikal andere sein, die in ihrem Gebiet ebenso herausragend ist wie Python auf seinem.
Langer Rede kurzer Sinn: Ich werde wohl weiter bei Python bleiben. Es gibt glaube ich kaum Möglichkeiten, schneller lauffähige Programme zu bekommen. Wenn man sich mal mit funktionaler Programmierung austoben will, reicht dazu wohl Python ebenfalls aus. Und wenn's dann wirklich einmal schneller laufen muss: C.
MfG
HWK
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 2. September 2007, 21:05

HWK hat geschrieben:OCaml halte ich bei dem, was ich bisher von diesen Sprachen weiß, für einfacher und mit verschiedenen hilfreichen Features: Pattern-Matching, OOP, die übersichtlichere Syntax und für den, der es braucht, Typsicherheit und den wohl effektiveren Compiler.

Den effektiveren Compiler hat es wohl, aber Scheme ist gar nicht schlecht dabei. Zum Lernen ist der Compiler aber ziemlich schnuppe und der Interpreter von Mz ist brauchbar. OOP kannst du natürlich nachrüsten, aber hey, wenn du schon Scheme lernst und dort dann OOP nutzt, dann ist das seltsam ;) Die Syntax ist durch die Klammern aber sehr regulär und simpel (Übersichtlich weniger).

Na immerhin hat die deutsche Übersetzung ein schöneres Cover und ist billiger *duck* ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Donnerstag 6. September 2007, 18:56

So, ich hab das Haskellbuch von Terrashop jetzt mal durchgelesen.

Eine "Einführung in die Programmierung" ist es durchaus, aber von Haskell sieht man wirklich nur die Basics. Alles, was einigermaßen mächtig (und damit ein wenig komplizierter) wird, ist weggelassen oder nur sehr spärlich angesprochen, und damit schaut die Sprache recht langweilig aus. Außerdem sind einige Fehler drin, die ich dem Übersetzer anlaste. Dafür ist ein nettes Kapitel über Komplexität drin, und am Schluss hat es sogar noch ein komplexeres Progrämmchen.

Dem erfahrereneren Programmierer, der sich auch nicht scheut, selber mal nachzudenken, lege ich aber eher "Write Yourself a Scheme in 48 hours" (siehe Google) nahe.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Donnerstag 6. September 2007, 19:06

[OT]zu russischem Roulette muss ich mal Wikipedia zitieren:
"Bedingt durch deren Funktionsweise kann Russisches Roulette ausschließlich mit Revolvern praktiziert werden. Einschüssige Pistolen oder Selbstladewaffen mit Munitionszuführung über ein Magazin führen zum unweigerlichen Ableben des ersten Spielers."[/OT]
8)
TUFKAB – the user formerly known as blackbird
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Donnerstag 6. September 2007, 19:13

blackbird hat geschrieben:[OT]zu russischem Roulette muss ich mal Wikipedia zitieren:
"Bedingt durch deren Funktionsweise kann Russisches Roulette ausschließlich mit Revolvern praktiziert werden. Einschüssige Pistolen oder Selbstladewaffen mit Munitionszuführung über ein Magazin führen zum unweigerlichen Ableben des ersten Spielers."[/OT]
8)
Naja, man kann mit einem Schrotgewehr immerhin noch "Schrotgewehrdrehen" spielen ;)

Aber der Informationsgehalt von Wikipedia ist manchmal wirklich atemberaubend.

Ich warte noch auf den Hinweis im Artikel über Sixpacks, dass in ein Sixpack konstruktionsbedingt nicht mehr als 6 Dosen passen...
uwe_holst
User
Beiträge: 12
Registriert: Samstag 26. Februar 2005, 06:25
Kontaktdaten:

Beitragvon uwe_holst » Donnerstag 6. September 2007, 21:57

veers hat geschrieben:Mein Problem mit funktionalen Sprachen ist vor allem das ich nicht weiss wann ich sie verwenden sollte. Scheme habe ich mal etwas im zusammenhang mit Gimp gebraucht. Aber das war es dann auch schon mit praktischer anwendung. Naja auch als vim Benutzer werde ich mir wohl mal die Zeit gönnen und Lisp lernen. Und sei es nur aus reiner Freude am lernen.


Warum Vim mit Lisp, wenn Vim mit Python doch viel schöner ist?

Uwe

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], dark_universe