SICP 孤読書会 - 1 手続きによる抽象の構築
- これから計算プロセス(computational process)について勉強していく。
- 計算プロセスは計算機の中に住む抽象的な存在。
- プロセスは進行しながら、抽象的な存在、データ(data)を操作する。
- プロセスの進行は、プログラムの指示に従う。
- プロセスに実行させたい仕事を示すため、プログラムを書く。
- プログラムは、プログラム言語の記号式で構成する。
Lisp によるプログラム
- SICP ではプログラミング言語 LISP を使ってプログラムする。
- LISP は ジョン・マッカーシー(John McCarthy) が発明(開発)した。
なぜ SICP では LISP を使うのか?
- Lisp が主要なプログラムの構成やデータ構造を学び、言語の基礎となる言語学的機能に関係づける媒体として、優れた特徴を持っているから。
- 目立った特徴として、「プロセスの手続きという Lisp による記述自体が Lisp データとして表現、処理できる」ことがあげられる。同図像性(Homoiconicity)のことかな。
- 手続きをデータとして表現できる能力により、Lisp は他のプログラムをデータとして扱うようなプログラム(インタープリタ、コンパイラ等)を書くのが得意。
- なんといっても、Lisp でプログラムを書くのはたのしい。