[ 目次, 前節, 次節, 索引 ]

第二版への前文



ソフトウェアは他のものと違うということ, それは捨てられるものだということ, 要するにそれをいつもシャボン玉として見ることは可能だろうか.

Alan J. Perils

本書の教材は1980年からMITの初級レベルの計算機科学の科目の基本であった. 第一版が出版された時, この教材は既に四年教えていたし, この第二版の出現までに更に十二年が経過した. われわれの仕事が広く受け入れられ, 他の教科書にも採り入れられたことを嬉しく思う. われわれは学生が本書の考え方とプログラムを吸収し, 新しい計算機システムや言語の中核に構成するのを見てきた. いにしえのタルマッドの語呂合せの文字通りの実現で, 学生はわれわれの建設者になった. かくも才能ある学生とかくも修練をつんだ建設者がいるのは幸せである. [タルマッドはヘブライ語で書いてあり, ヘブライ語では子ども(学生)と建設者が似た発音である.]

   この版の準備では, われわれ自身の授業経験による明快化とMIT内外の同僚の意見の多くを採り入れた. 汎用演算システム, 解釈系, レジスタ計算機シミュレータおよび翻訳系を含め, 主要なプログラミングシステムの大部分を再構築した. またすべてのプログラムの例題を書き直し, IEEE Scheme標準(IEEE 1990)に適合するScheme実装ならプログラムが走るようにした.

   この版はいくつかの新しい主題を強調する. 最も主要なのは計算モデルでの時の扱いの異る解決法: 状態を持つオブジェクト, 並列プログラミング, 関数型プログラミング, 遅延評価と非決定性などの果す役割である. 並列性と非決定性の新しい節を採用し, この主題を本書全体で統一するように努めた.

   本書の第一版はMITの一学期の科目の授業内容に即していた. 新しい教材のある第二版は, 単一学期ですべてを話すのは無理であり, 教師は選択する必要がある. われわれの授業では, 時には論理型プログラミング(4.4節)を省くとか, 学生にレジスタ計算機シミュレータは使わせるがその実装(5.2節)は話さないとか, 翻訳系(5.5節)はざっとした概説しかしないとかする. それにしても強烈な授業である. 教師によっては初めの3, 4章だけ話し, 他は後の授業に残したいようだ.

   ワールドワイドウェブの場所www-mitpress.mit.edu/sicpには本書の利用者への支援がある. そこには本書のプログラム, プログラミングの宿題の例, 補助教材とLispのScheme方言のダウンロード可能な実装が置いてある.


[ 目次, 前節, 次節, 索引 ]