四方山話

第4章付近で我を見失ったSICPに再度挑戦すべく、SICP-Liteの力を借りつつ、やってるわけですが、少し脱線。

id:Ehrenの勧めで

プログラミングの基礎 (Computer Science Library)

プログラミングの基礎 (Computer Science Library)

と言う本を読んでいるわけだが、この本のイントロの部分でデザインレシピと言う単語が出てくる。まだ、序盤なので正確ではないが、『要はエディタに書きなぐるのではなく、関数をちゃんと設計して、ヘッダとテストを最初に記述してから、テストを満たすように関数の本体を書こう』と言う全くもって正当な主張。

そして、デザインレシピのリファー先として、How to Design Programsが紹介されてた。この本知らなかったんだけど、MITでのプログラム初級講座で使用されている教科書らしい。そして、Webで全文公開されている。

もう少し、本の評判を知りたくて、ググったところ、下記のページがヒット。
http://soudan1.biglobe.ne.jp/qa5063623.html?ans_count_asc=1
これによると、

  • SICPは、プログラミングの教科書ではなく、SchemeによるSchemeインタプリタを作ることで、コンピュータの動作を勉強する本である(第4章とか第5章を見ると、そんな感じだよね)。
  • Schemeを用いたプログラミングの本としては不適切である、と言う論文http://people.cs.uchicago.edu/~robby/pubs/papers/htdp-sicp-fdpe2002.pdfがある。SICPの問題点について言及されているらしい。(暇な時に読んでみよう)
  • 上記論文の著者たちが、新しいSchemeプログラミングの本として、作ったのが、HtDPである。

と言うことらしい。

今のところ、ぼくが知りたいのは、Schemeによるプログラミングではなく、SICPの第4, 5章とかの世界なので、このままSICPを読み続けるつもりだけど、HtDPもWeb版があるので、暇な時にでも目を通すといいかもしれない。