2章突入

第1章は手続きによる抽象化法を習った(らしい)。今度は、単純なデータを組み合わせて、複雑なデータ構造を構築して、現実の問題に対処しましょう、と言うところを学ぶようだ(知ってるくせに)。


しかし、Schemeの場合、手続きもファーストクラスであるため、データと手続きがほとんど区別がつかなくなっている。結局、手続きの抽象化でやっていたテクニックは、データの抽象化にも通じるところが多い。ここが、C系の言語とは違うところだろうか。


結局のところ、SICPの前半は、低いレベルの部品を使って抽象を作り上げて、高いレベルでモノを考えましょう、と言うのが主題だろう。そして、適切なabstraction barrierを築けるようになったかどうかで、モノにしたかどうかがわかる。


と言うことで、ぼちぼちスタート!!