The Sussman



  • Was haltet ihr von Sussman bzw. SICP?



  • Sussman ist eine lebende Legende und SICP das in meinen Augen beste Buch zum Programmieren lernen.

    Aber warum fragst Du? Die Einschätzung ist weit genug verbreitet und dokumentiert.



  • Ja, SICP ist ein gutes Buch. Den Sussman kenne ich leider nicht.
    Aber irgendwie beneide ich ihn wegen seiner Julie, finde mal eine Frau, die versteht was du so machst.



  • nman schrieb:

    Sussman ist eine lebende Legende und SICP das in meinen Augen beste Buch zum Programmieren lernen.

    😃 👍



  • SICP das in meinen Augen beste Buch zum Programmieren lernen

    😮 😮 😮 😮 😮



  • Shukutatsu schrieb:

    Was haltet ihr von Sussman bzw. SICP?

    is schon nicht schlecht, aber für die codebeispiele hätten sie besser pseudocode oder pascal etc. verwenden sollen. so ist es durchsetzt mit lisp-code, der ziemlich störend wirkt.
    🙂



  • ;fricky schrieb:

    aber für die codebeispiele hätten sie besser pseudocode oder pascal etc. verwenden sollen. so ist es durchsetzt mit lisp-code, der ziemlich störend wirkt.
    🙂

    Typisches fricky-Getrolle.

    Wenn Du in SICP auch nur reingelesen hättest, wäre Dir bestimmt etwas weniger Dummes eingefallen, was vielleicht nur Rückschlüsse darauf zugelassen hätte, dass Du das Buch einfach nicht verstanden hast und nicht darauf, dass Du es schlichtweg nicht gelesen hast. 🙂



  • nman schrieb:

    Wenn Du in SICP auch nur reingelesen hättest, wäre Dir bestimmt etwas weniger Dummes eingefallen, was vielleicht nur Rückschlüsse darauf zugelassen hätte, dass Du das Buch einfach nicht verstanden hast und nicht darauf, dass Du es schlichtweg nicht gelesen hast.

    ich hab's nur überflogen. so wahnsinnig interssant isses nun auch nicht, als dass man es unbedingt gelesen haben muss. 'algorithmen und datenstrukturen' von wirth z.b., etwa auf dem gleichen level wie SICP, finde ich besser.
    🙂



  • ;fricky schrieb:

    ich hab's nur überflogen. so wahnsinnig interssant isses nun auch nicht, als dass man es unbedingt gelesen haben muss. 'algorithmen und datenstrukturen' von wirth z.b., etwa auf dem gleichen level wie SICP, finde ich besser.
    🙂

    "Überfliegen" heißt nicht "den Klappentext lesen und die Amazon-Bewertungen anschauen".

    Den Wirth hatte ich selbst als ergänzende Literatur bei meiner ersten Algodat-Vorlesung, ist mit SICP überhaupt nicht vergleichbar. (Insbesondere würde mich Dein metazirkulärer Pascal-Evaluator in Pascal aus dem Wirth interessieren.)

    Natürlich behandelt SICP auch ein paar 0815-Algodat-Probleme, aber im Kern ist SICP kein Algodat-Buch, was jeder weiß, der da mal reingelesen hat.



  • nman schrieb:

    (Insbesondere würde mich Dein metazirkulärer Pascal-Evaluator in Pascal aus dem Wirth interessieren.)

    Hehe, das hat es dir angetan 😉



  • Tim schrieb:

    nman schrieb:

    (Insbesondere würde mich Dein metazirkulärer Pascal-Evaluator in Pascal aus dem Wirth interessieren.)

    Hehe, das hat es dir angetan 😉

    Wenn er meint, dass Pascal besser wäre, hat er eindeutig das Buch nicht gelesen. Mit einer anderen Programmiersprache als einem Lisp-Dialekt hätte man ganze Kapitel streichen müssen. Der Evaluator- und Compiler-Teil gehört dazu.



  • nman schrieb:

    (Insbesondere würde mich Dein metazirkulärer Pascal-Evaluator in Pascal aus dem Wirth interessieren.)

    dann machen wir uns erstmal (natürlich in pascal) einen pascal-interpreter und dann ein pascal-programm, das unter diesem interpreter läuft und selber andere psacal-programme interpretieren kann, die die funktionalität des interpreters, auf dem dieser interpreter läuft, mitbenutzen. das ging doch so, oder? lustige sache jedanfalls, geht bestimmt auch in smalltalk ganz gut, nur dass man auf den ersten interpreter verzichten kann (hey u_ser_l, wär das was für dich?).

    nman schrieb:

    Natürlich behandelt SICP auch ein paar 0815-Algodat-Probleme, aber im Kern ist SICP kein Algodat-Buch, was jeder weiß, der da mal reingelesen hat.

    im kern isses algodat und lisp-tutorial in eins plus *ein einziges kapitel* (matalinguistic abstraction), dass über standard-zeug hinausgeht. versteh' mich nicht falsch: ich finde SICP nicht schlecht, ausser dass diese vielen lisp-codes augenkrebs verursachten.
    🙂



  • ;fricky schrieb:

    geht bestimmt auch in smalltalk ganz gut, nur dass man auf den ersten interpreter verzichten kann (hey u_ser_l, wär das was für dich?).

    Das geht in Smalltalk deshalb gut, weil die Eigenschaft, daß es einen knapp formulierbaren self-interpreter geben sollte, eine der Motivationen für die Entwicklung war - eine Art objektorientiertes Gegenstück zu Lisp, dessen self-interpreter auf eine halbe Seite paßt.

    Einen self-interpreter kann man theoretisch in jeder Turing-vollständigen Sprache schreiben, sonst wäre die Sprache nicht Turing-vollständig, also auch in pascal.



  • u_ser-l schrieb:

    Einen self-interpreter kann man theoretisch in jeder Turing-vollständigen Sprache schreiben, sonst wäre die Sprache nicht Turing-vollständig, also auch in pascal.

    klar, aber diese sogenannte 'meta-zirkularität' bedeutet ja, dass ein interpretiertes programm seinen eigenen interpreter verwendet um codes in seiner eigenen sprache zu interpretieren. wenn man einfach nur einen interpreter für sprache x in sprache x schreibt, ist es weder zirkulär noch spektakulär und dürfte bei nman keine wogen der begeisterung auslösen.
    🙂



  • ;fricky schrieb:

    dann machen wir uns erstmal (natürlich in pascal) einen pascal-interpreter und dann ein pascal-programm, das unter diesem interpreter läuft und selber andere psacal-programme interpretieren kann, die die funktionalität des interpreters, auf dem dieser interpreter läuft, mitbenutzen.

    Und wie aufwändig mag sowas wohl für ein Pascal sein? Bist Du schonmal auf die Idee gekommen, dass sowas in Lisp besonders hübsch gehen könnte, viel hübscher als in Pascal, wo Du erst noch einen eigens hierfür konstruierten Pascal-Interpreter basteln musst, wohingegen dieser gesamte Prozess in Lisp sehr natürlich und elegant vonstatten geht?

    SICP wäre ohne Lisp nicht SICP. Natürlich könnte man vmtl. auch Dylan oä. verwenden, aber die Klammern stören erfahrungsgemäß primär Leute, die noch nicht mit einem Lisp gearbeitet haben.

    im kern isses algodat und lisp-tutorial in eins plus *ein einziges kapitel* (matalinguistic abstraction), dass über standard-zeug hinausgeht.

    Lies doch mal die Kapitel selbst, statt nur die Kapitelnamen, bevor Du Dich zu solchen Aussagen hinreißen lässt.



  • nman schrieb:

    ;fricky schrieb:

    dann machen wir uns erstmal (natürlich in pascal) einen pascal-interpreter und dann ein pascal-programm, das unter diesem interpreter läuft und selber andere psacal-programme interpretieren kann, die die funktionalität des interpreters, auf dem dieser interpreter läuft, mitbenutzen.

    Und wie aufwändig mag sowas wohl für ein Pascal sein? Bist Du schonmal auf die Idee gekommen, dass sowas in Lisp besonders hübsch gehen könnte, viel hübscher als in Pascal, wo Du erst noch einen eigens hierfür konstruierten Pascal-Interpreter basteln musst, wohingegen dieser gesamte Prozess in Lisp sehr natürlich und elegant vonstatten geht?

    SICP wäre ohne Lisp nicht SICP. Natürlich könnte man vmtl. auch Dylan oä. verwenden, aber die Klammern stören erfahrungsgemäß primär Leute, die noch nicht mit einem Lisp gearbeitet haben.

    im kern isses algodat und lisp-tutorial in eins plus *ein einziges kapitel* (matalinguistic abstraction), dass über standard-zeug hinausgeht.

    Lies doch mal die Kapitel selbst, statt nur die Kapitelnamen, bevor Du Dich zu solchen Aussagen hinreißen lässt.

    Ach nman du bist doch schon so lange hier im Forum unterwegs was diskutierst du da mit fricky überhaupt noch rum? Das ist einfach sinnlos (er ist ja auch ein Troll).



  • warum fallt ihr immer wieder auf fricky rein?



  • nman schrieb:

    Natürlich könnte man vmtl. auch Dylan oä. verwenden...

    auf jeden fall. allein schon mathematische ausdrücke in dylan, wie let circumference = 2 * pi * radius; sehen gegenüber lisps (circumference (* 2 pi radius))) schon mal viel besser aus.
    🙂



  • ;fricky schrieb:

    klar, aber diese sogenannte 'meta-zirkularität' bedeutet ja, dass ein interpretiertes programm seinen eigenen interpreter verwendet um codes in seiner eigenen sprache zu interpretieren.

    ich habe bewußt "self-interpreter" geschrieben, weil das ein exakt definierter Begriff ist.

    Der Begriff "metazirkulär" ist mir zu schwammig um ihn zu benutzen.

    in sicp steht ohnehin (Zitat)

    An evaluator that is written in the same language that it evaluates is said to be metacircular.



  • Also ich programmiere seit einem Jahr in Scheme und von Augenkrebs noch keine Spur. Man setzt dort auch nicht mehr Klammern als in anderen Programmiersprachen. Und wenn es nicht gerade um mathematische Ausdruecke geht, so kann eine Funktion viel kompakter formuliert werden, wobei auch wiederum Klammern gegenueber anderen Sprachen eingespart werden.


Anmelden zum Antworten