タグ

SICPに関するyou21979のブックマーク (12)

  • 非公式PDF版SICPの全訳を公開しました - minghaiの日記

    また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日語版の体です。 ejsicp.pdfはデバッグ用の日語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。このは良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこのの中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が

    非公式PDF版SICPの全訳を公開しました - minghaiの日記
  • 計算機プログラムの構造と解釈 第二版

    [ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]

  • SICPの価値 - きしだのHatena

    SICPをプログラミングのだとして批判したら、そうじゃねーだろという反応が多く帰ってきた。 いまSICPを読むのは時間の無駄 じゃあ、SICPはどういうか。 LISPを使って仮想マシンを作って、LISPコンパイラを作って実行させて、プログラムがどのように動くかを勉強するだ。 遅延評価したりガベージコレクションしたりする仮想マシンを作って、LISPプログラムをその仮想マシンで動かせるようにコンパイルする。LISPは、サンプルプログラムとしては機械語のように使われている。そこで作成されるプログラムが扱う対象としては高級言語として使われている。 LISPはアセンブラであり高級言語というバランスをもてるコンパクトな言語で、そこにSICPがLISPを使っている必然性がある。 そういうなのに、プログラミングのとして批判してたから、違うだろと言われたわけだ。 ただ、現実問題として、プログラミン

    SICPの価値 - きしだのHatena
  • いまSICPを読むのは時間の無駄 - きしだのはてな

    SICPは、よい内容について書かれたであり、最良のだった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえるといってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コンピュータ教育歴史、そしてSICP自体のすべてに興味があれば、効率がいいかもしれない。 けれども、コンピュータ教育歴史、SICP自体に興味がないのなら、あまり効率のいいとはいえない。特に、Scheme、数値計算に当面の興味はなく、プログラミングについてだけを学びたいのであれば、時間の無駄でしかないと思えるし、今となっては足りない部分もある。 SICPの欠点として、まず、次の点が挙げられる。 日語がよみにくい サンプルに数学の知識が必要 プログラムがよみにくい 日語がよみにくいというのはよく指摘される。ただこれは翻訳だけが悪いのではな

    いまSICPを読むのは時間の無駄 - きしだのはてな
  • SICPのデジタル回路のシミュレータをFRPで書いた - maoeのブログ

    最近FRPなコードを書いているので、ふとid:kazu-yamamotoさんに言われたのを思い出して書いてみました。元の問題はこちらからどうぞ。今回はelereaというライブラリを使っています。 FRPとはなんぞやな方はやさしいFunctional reactive programming(概要編) - maoeのブログを読むと雰囲気はわかるかもしれません。 コードは大まかに解説すると、 main 各部品の遅延を決めて SICPの例にあった入力(Signal Bool)を組み立てて回路に入力として与える replicateM_ 20でsampleを実行しているところで実際に回路が動く Circuitモナド 単なるReaderモナドでインバータなど各部品の持つ遅延を初期値として与えるために使ってる ベースのSignalGenモナドはelereaが提供しているもので、ステートフルなSignal

    SICPのデジタル回路のシミュレータをFRPで書いた - maoeのブログ
  • softuses.com

  • Route 477(2009-03-31)

    ■ [scheme] MITがSchemeをやめてPythonを採用した理由 という記事をPlanet Scheme経由で見た。 Why MIT switched from Scheme to Python | Wisdom and Wonder が、読んでみるとタイトルに偽りありで、「なぜMITはSICPを止めたか」(Schemeをではなく)という話だった。 詳細はlequeさんによる日語訳を読んでもらいたいのだけど(もちろん原文でもいい)、 簡単に言うと、「研究の補助手段としてプログラミングする際のやり方が、80年代と現在ですっかり変わってしまったから」ということのようだ。 もともとSICPは情報系ではない学生のためのプログラミング入門講義(6.001)で使われていたテキストで、 自分が把握できる小さなパーツをいくつも組み合わせて目的のものを作り出すやり方を説明するのが目的だった。

    Route 477(2009-03-31)
  • 2009-07-07

    id:rsakamot:20090502:1241226261では,継続わからないとつぶやいた. そしてそのまま放置してSICPへと移行した. SICP4.3では,継続(call/ccは使わず,ひたすら関数を渡す)を用いて,amb評価器を実装した. 細かい動きは理解し切れていない気がするが,おおよその動きは理解できたと思う. call/ccを理解するのは今だ!と思い,久しぶりにcall/ccへ取り組む. 前回わからなかった,break/next付きfor-eachはすんなり理解できた.これもSICPのおかげ? 特にcatchにはなかなか理解に苦しんだが,今回は理解できたと思う. 以下自分用に説明. 今回のcatch, throwは以下のようになっている. (define *signals* '()) (define-syntax catch (syntax-rules (finally)

    2009-07-07
  • 本当のプログラミング初心者がSICPを読んではいけない三つの理由 - ヤドカリデンキ商会(ブログ版)

    酔って適当に考えたことを書き留めておく 半分以上与太だけど、ツッコミ歓迎 SICPは「計算機プログラムの構造と解釈」というコンピュータサイエンスの教科書です。サンプルはすべてSchemeというLispの方言で書かれています。以下、「当にプログラミング未経験でSICPから入門しようとする人」が陥るかもしれない三つの罠を挙げてみます。 1. 破壊的代入に対する嫌悪感を植えつけられる SICPには「大リーグボール養成ギプス」のような側面があります。ストイックな制限を与えることで思考の流れを誘導する感じ。第1章ではリストが使えず(LISP=LISt Processingなのに!)、第2章まではset!が使えないため破壊的代入ができません。つまり状態が扱えない(実際には2章の最後のほうではテーブルが最初から用意されていることにしてオブジェクト指向っぽいことをしてますが)。第3章でようやく状態を扱え

    本当のプログラミング初心者がSICPを読んではいけない三つの理由 - ヤドカリデンキ商会(ブログ版)
  • MITにてSICPのクラスが復活!? | gihyo.jp

    コンピュータサイエンスを学ぶ古典として『計算幾プログラムの構造と解釈』(⁠注1)があります(通称、「⁠SICP⁠」⁠)⁠。MIT(マサチューセッツ工科大学)で、この書籍を教材にプログラミング入門のカリキュラムが組まれていることで有名でしたが、年が経つにつれ内容が合わなくなってきたことにより、もとはSchemeという言語を使っていたのがPythonに変わり、教材も新しくなっています。 この流れを嘆き悲しむ人は少なくなく、家MITでもそのような人が多かったのかどうかはわかりませんが、Independent Activities Period(IAP)という1月の4週間で学生や教師が自由にクラスを作ることができるしくみにより復活(?)しました。「⁠ゾンビ」と名付けられたクラスのページには講義資料や演習問題などが公開されています。 教材はSICPを踏襲しつつ言語のみをPythonに置き換えている

    MITにてSICPのクラスが復活!? | gihyo.jp
  • Structure and Interpretation of Computer Programs

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • Clojureの学習でSICPは使えるかと問われ、Rich曰く、 - @katzchang.contexts

    最初の文章のまま載せていますので、コメント欄のshiroさんの添削と合わせてどうぞ: 一概には言えないが、2点だけ。 僕は、SICPはプログラミング言語のじゃなくて、あれはプログラミングのなんだと思ってる。の中でSchemeを使っているのは、アトミックなプログラミング言語だからなんだ。ラムダ計算、末尾再帰、継続を使った抽象制御、抽象構文(マクロ)、可変状態など。軽量で、かつ十分だ。 SICPでは、プログラミングをする上での課題を扱っている。モジュラリティ、抽象、状態、データ構造、並列処理など。generic dispatchやオブジェクト、並列処理、遅延リスト、(可変な)データ構造、「タギング」なんかの、明確な課題設定に対する実装例と解説が書いてある。 Clojureはアトミックなプログラミング言語じゃない。僕はもう、アトミックにプログラミングするのは古くて遅くて飽きた。Clojur

    Clojureの学習でSICPは使えるかと問われ、Rich曰く、 - @katzchang.contexts
  • 1