SICP 孤読書会 - 1 手続きによる抽象の構築

  • これから計算プロセス(computational process)について勉強していく。
  • 計算プロセスは計算機の中に住む抽象的な存在。
  • プロセスは進行しながら、抽象的な存在、データ(data)を操作する。
  • プロセスの進行は、プログラムの指示に従う。
  • プロセスに実行させたい仕事を示すため、プログラムを書く。
  • プログラムは、プログラム言語の記号式で構成する。

Lisp によるプログラム

なぜ SICP では LISP を使うのか?

  • Lisp が主要なプログラムの構成やデータ構造を学び、言語の基礎となる言語学的機能に関係づける媒体として、優れた特徴を持っているから。
  • 目立った特徴として、「プロセスの手続きという Lisp による記述自体が Lisp データとして表現、処理できる」ことがあげられる。同図像性(Homoiconicity)のことかな。
  • 手続きをデータとして表現できる能力により、Lisp は他のプログラムをデータとして扱うようなプログラム(インタープリタ、コンパイラ等)を書くのが得意。
  • なんといっても、Lisp でプログラムを書くのはたのしい。


SICP 孤読書会のメインページはこちら