「計算機プログラムの構造と解釈」は読む価値がないか?
ええと、いわゆる SICP *1 として知られた「計算機プログラムの構造と解釈」。
- 作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエイブルソン,Gerald Jay Sussman,Julie Sussman,Harold Abelson,和田英一
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/02
- メディア: 単行本
- 購入: 35人 クリック: 1,149回
- この商品を含むブログ (486件) を見る
とあるブログ、といってリンク貼らないで批判するのもなーって感じなので d:id:nowokay:20090321:1237617054 ですね。
冒頭読んだだけであまりにも的外れな批判なのではてなブックマークで「そりゃないでしょ」と書いてしまったのですが、ほかのみなさんのコメントみてると、ええええええっ! と思うような理解がされていることが分かったので、エントリを立てて補足することにします。
事実
意見
- 「計算機科学」の教科書としては、SICP は非常に良く書けた教科書である。
- 例えば、「オブジェクト指向言語」というもので与えられた機能としてのオブジェクトが、どのように実現されているのか、ということを知りたいのであれば、この手の本をひもとくことは大事だと思う。
- そういう内容は知りたいが Scheme は分からない、という人、あなたは多分計算機科学の本を読むには早すぎる。
- 「SICP にはこういう視点が欠けている」という批判をする人は、SICP が非専門家向けの教科書である(が故に、計算機科学を学んだことのない人にも読みやすい)ということを忘れていないだろうか。そういう視点の欲しい専門家はいくらでも他書を参照すればいい。
- 和田訳が辛いというならマグロウヒルから出ていた旧版を探してもよいかも。私はこの訳で辛いと思ったことはないが、もう20年も前の本なので探すのは大変かもしれない。
プログラムの構造と実行〈上〉 (COMPUTATION&SOFTWARE SCIENCE)
- 作者: H.エーベルソン,G.J.サスマン,元吉文男
- 出版社/メーカー: マグロウヒル出版
- 発売日: 1989/06
- メディア: 単行本
- 購入: 1人 クリック: 100回
- この商品を含むブログ (3件) を見る
プログラムの構造と実行〈下〉 (Computation & software science)
- 作者: H.エーベルソン,J.サスマン,G.J.サスマン,元吉文男
- 出版社/メーカー: マグロウヒル出版
- 発売日: 1989/10
- メディア: 単行本
- クリック: 22回
- この商品を含むブログ (3件) を見る
なおオイラはたいして優秀なプログラマでもなければ計算機科学の学徒でもないのでこのエントリの間違いについては私の目の届く範囲でばしばしやってくださいまし。
追記
ブクマコメントで id:findup さんよりコメントをいただきました。割と典型的な反応なのかな、と思うのと、書き足りなかったことがあるのでちょっとお借りして。
計算機科学に向いていない=プログラマに向いていないという意味なのかな。まぁそしたら私は足を洗わないといけなくなりそうだな。こういうアカデミックな"○○論"的な匂いのするのは苦手だし。
前半「計算機科学に向いていない=プログラマに向いていない」は、そんなことはありませんし書いてもいません。ただ、SICP は計算機科学の教科書であるから、計算機科学……というと大上段に振りかぶりすぎですが、プログラミング言語のある機構がどう実現されているか、などということに興味がない人が読むような本ではありませんよ、というだけのことです。
ただ、My Job Went To India
My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド
- 作者: Chad Fowler,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2006/09/26
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 100回
- この商品を含むブログ (161件) を見る
後半「こういうアカデミックな"○○論"的な匂いのするのは苦手」ですが、まあ私もいい大人にピーマン食べろとかいうつもりはないので嫌いは嫌いで構わないとは思います。
ただ、エンジニアってやつは好奇心が勝負なので、反アカデミズムによってものすごく巨大な「巨人の肩」をみすみす放棄するのはもったいないとは感じます。例えば Java の本は Java の、PHP の本は PHP の、C# の本は C# のことしか教えてくれませんが、この手の本はその奥にある共通するものを教えてくれるものなので。
そして SICP はこの手の本としては非常に整理されていてわかりやすく、ペダンティックな部分はない。「俺の書いたプログラムってどうやって動くんだろう」っていう疑問に答えてくれる良書です。
もちろん「プログラムはなぜ動くのか」とかでもいいっちゃあいいんですけど、仮にもプログラマでおまんま食べてる人にはレベル低すぎるだろうと(もちろんこれはこれで良書ですよ)。
プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
- 作者: 矢沢久雄
- 出版社/メーカー: 日経ソフトウエア
- 発売日: 2007/04
- メディア: 単行本(ソフトカバー)
- 購入: 45人 クリック: 646回
- この商品を含むブログ (75件) を見る
もちろん個人の興味と趣味と知識ポートフォリオは個人で決めていただくよりないので、少なくとも「SICP プログラマには必読!」とか煽られて読んで dis ったりする不幸な事態だけは避けていただければ、私としては幸い。
そして、個人的には、SICP を面白いと思えるようなエンジニアと一緒に仕事できればな、とは思います。
PS2. 追記の方が長くなっちゃった。別エントリにしようかとも思ったが、ひとまずこのまま。