いとこに聞く!SICPの良い所、悪い所
いとこに聞いたSICPの良い所。
抽象化について学べる
前のエントリーに書きました。
たった2章でインタープリターとコンパイラを学べる
SICPでは4章がインタープリターで5章がコンパイラになっています。インタープリターやコンパイラはプログラミングの原理であるので、これがどのように動いているかをちゃんと分かっているのは、コーディングする上で重要なこと。たった1章で動作可能なインタープリターやコンパイラを作れるって、凄く低コストなことです。これを実現可能にするのは次の項目。
Schemeのコードが短い
重量級な概念を伝えるにはたくさんコードを書かないといけない。Schemeでは書くことが少ないし、抽象化もやりやすいのでコードが全般的に短いです。そのため、重量級なものも「1ページ内で」見通せる量で書けます。じゃないと確かにかったるいよね。
メンテナンスの勉強になる
SICPの問題の多くに含まれるパターン:
「こういう概念があって、これはこのような記述が出来る、これをこのようなケースにも対応出来るようにするにはどうすれば良いか」
このパターンの問題を解くときには、前に書いてあるコードを書き移して、変更していくことになります。すでにあるコードに処理を挟み込んで行くことでメンテナンスの練習になるらしいです。ちなみに僕は今1章が終わって2章の勉強中なのですが、あんまりそういう印象をもっていなかったのだけど、4章5章は結構そんな感じらしい。
悪い所
とっつきにくい。勉強会とかないとやれないよ。