λλλ 訳者跋文 λλλ

Getting an education from MIT is like trying to get a drink of water from a fire hose(MITで教育を受けるのは, 消防のホースの水で喉を潤すようだ)といった人がいるらしい. 私は1973年9月から1年間, 東大工学部から出張し, MITのElectrical EngineeringにAssociate Professorとして滞在し, 秋学期に大学院の講義, 春学期に学部の演習を担当したので, このすさまじい教育を教師の側から体験した.

今回訳出した「計算機プログラムの構造と解釈 第二版」は, その内容においてこれより濃くは出来ないと思うほどだが, 自分の体験からすればMITならばさもありなんと納得出来る. これがMITの入門レベルの教科書というのだから, 彼の地においていかなる教育が進行しているか想像してほしい.

私は本書の原著者の一人, Gerald Sussman君とは当時から知合いなので, 私の帰国後に出版された彼の有名な教科書を一度通読したいと思いつつも, 長い間その機会を得ないできた. そのうち第二版が出版され, やがて訳者を探しているという話が伝わってきたので, 精読するには絶好の機会と思い, 訳を引き受けた次第だ.

本書はプログラムの記述にSchemeを使っている. Schemeは本来MITで教育用に, Sussman君, Guy Steele君を中心に開発されたものであり, それなりに良く出来た言語であって, 本書で採用したのは当然であるが, 本書は別にSchemeの教科書ではないことに注意すべきであろう. Schemeを詳しく知りたいと思う人は, 改めてSchemeの教科書(例えば 湯浅太一君)で勉強されたい.

しかし本書の内容を十分に理解するには, Schemeによって実際にプログラムを書き, 処理系を使って実行してみる必要がある. それにはMITなりからSchemeをダウンロードして, 使えるようにしなければならない.

翻訳中に生じた疑問はその都度Jerryにメイルを送り, 質問し確認した. ところが返事はいつもJulieから来るという状態だったので, そのうちJulie宛に送るようになった. しかし向うでも話し合っているみたいで, Jerry(やHal)はそれでよいといっているというような返事が来ているので安心している.

また翻訳中に原著の誤植もいくつも見つけた. それらはSICPのホームページの正誤表に反映されている. 日本語版にもかならずや誤植が見つかろう. それはこの日本語版ホームページの正誤表に載せるので, 私宛に連絡されたい.

私自身は1964年ころからLispを使っている. いまでもプログラムは殆んどLispで書いている. 本書にあるように 「何にもましてLispでプログラムを書くのは大いに楽しいことでもある(2ページ)」からだ. ところがLisp以外では図を描く場合にPostScriptを使う. これはいわば趣味の範囲である. この訳書の図は, 図5.16を除きPostScriptを使ってすべて自分で描き直した. 2.2.4節のBarton Rogersの肖像は, ビットイメージだけ貰い, やはりPostScriptで整形し直してある.

索引について一言. 見て分るように記号, ギリシア文字, ラテン文字, 日本語の順である. 日本語の部分で例えば「金星」の次に「偽」があるのは, 前者は読み「きんせい」で, 後者は読み「ぎ」としたからで, 読みのJISコードの順でソートしてある.

訳書の製版はLatexを使っている. スタイルファイルまで原書のそれを貰えば簡単だったかもしれないが, 大体は自作した. その際, テクスパートの慶応義塾大学の 野寺隆志君(「楽々LATEX」の著者), NTT基礎研究所の 磯崎秀樹君(「LATEX自由自在」の著者)にいろいろ教えて貰った.

翻訳の原稿に一番熱心にコメントしてくれたのは, Julieであった. 彼女は日本語は少しはわかるらしいが, 日本語の部分は無視し, 英語の綴りの誤りや, 自分なりに気づいた不整合を指摘してきた. またこのホームページにある人名地名考の原稿も送ってきた. これに もじり の名前が多いことからわかるように, 彼女はもじり(pun, 洒落, 地口)に興味があるらしく, ある日「Get Thee To a Punnery」というpunに関するペーパーバックまで送ってきた. ついでだが, この題名は「Get thee to a nunnery」 (HamletがOpheliaに向かっていった「尼寺へ行け」)のpunである. 「真似寺へ行け」とでも訳そうか. 人名地名考も堪能してほしい.

和田 英一
eiiti.wada@nifty.com