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

第二版への前文



\hfill \begin{minipage}{120mm} \noindent {\small ソフトウェアは他のものと違うということ, それは捨てられるものだということ, 要するにそれをいつもシャボン玉として見ることは可能だろうか. \smallskip \noindent Alan J. Perils} \end{minipage} \vspace{12mm} \noindent 本書の教材は1980年からMITの初級レベルの計算機科学の科目の基本であった. 第一版が 出版された時, この教材は既に四年教えていたし, この第二版の出現までに更に十二年 が経過した. われわれの仕事が広く受け入れられ, 他の教科書にも採り入れられたこと を嬉しく思う. われわれは学生が本書の考え方とプログラムを吸収し, 新しい計算機シ ステムや言語の中核に構成するのを見てきた. いにしえのタルマッドの語呂合せの文字 通りの実現で, 学生はわれわれの建設者になった. かくも才能ある学生とかくも修練を つんだ建設者がいるのは幸せである. [タルマッドはヘブライ語で書いてあり, ヘブライ 語では子ども(学生)と建設者が似た発音である.]

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

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

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

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


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