SICP終了
SICP終了します。
最後の問題がいくつか残っているけれど、とりあえずこれでいったん終えます。
初めのほうはここには記録を残していないので、いつ始めたかわからない...と思ったらノートに
日付が!4月25日に始めたようです。
SICPによって得られたもの...
- Scheme色が体に染みつきつつある(全体)
- 反復的プロセスと再帰的プロセスの違いがわかった(第1章)
- オブジェクト指向の原理に触れ、javaなんかの後ろの動きが妄想できるようになった(第2章)
- 評価モデルを理解した(第3章)
- 遅延評価に触れた(使いこなせるわけではない)(第3章)
- 環境(フレーム)、apply、evalを理解できた(第4章)
- 非決定性計算が理解できた(第4章)
- 継続が理解できた(第4章とプログラミングGauche)
- prolog的なものを理解できた(第4章)
- レジスタの動きが理解できた(第5章)
- コンパイラとインタプリタの効率の差を実感した(第5章)
などです。4章、5章は実際のインタプリタ、コンパイラを作成したわけではないので、完全な理解とは
言えませんが、抽象的には理解できたかなと思います。
コンピュータの基本的なものいつくか(オブジェクト指向、遅延評価、論理型プログラミング、インタプリタ、コンパイラ、レジスタ)をSchemeを通して作成することで、より具体的なイメージをつかむことができました。そういう意味で、この本はとても教育的な本なのかなと今になって実感しています。
3か月かけて、自分のなかに入ったものが、今後どうやって成長していくのか楽しみです。