2006年05月11日 01:30 [Edit]
(いい本) - 書評 - 計算機プログラムの構造と解釈(SICP)
というわけで、素人くさいSICP読書会第12回会場は拙宅でした。参加者の皆さんおつかれさま。
Structure and Interpretation
of Computer Programs
H. Abelson / G. Sussman / J. Sussman
[邦訳:計算機プログラムの構造と解釈]
来週はGW中につき通常の読書会はお休み(特別企画はあるかも知れない)。再来週はまたはじめての会場に上陸予定。世話人たちの当初の想像を超えてひろがりを見せている読書会になってしまっているような気が。
実は私はこの読書会に参加資格があるかどうかはけっこうあやしい。
まず「素人くさい」をクリアーできるかどうか。私が本書と出会ったのはなんと20年前、まだティーンエイジャーだったころだ。私はこの本で、はじめて電脳言語を「教室で」習った。教えていたのはBrian Harvey。当時は知らなかったが、Schemeと聞いてSussmanの次に有名な人だ。この本と出会わなかったら、道を間違う今の境遇を得る事もなく、今宵の読書会の会場を提供することも出来なかったのかと思うと感慨深い。最後にはschemeによるscheme interpreter(の簡単な奴)を作った記憶がおぼろげにある。
そして今ではPerlの設計の手伝いなんぞしているので、ちょっと「素人」を名乗るのはずうずうしいような気もする。熟女がセーラー服を着てるというか....
それでも、「ままごと」をしているつもりはまるでない。scheme/lispの考え方は今でも新鮮で、そしてLL、特にPerlの経験をふまえるとさらに別の味わいがある。
当時は、schemeを味わうのに最良の環境だったとはいえない。いや、最高の教科書に最高の教師がいてなにぬかすと我ながら思うが、当時生徒達が使えたのは、emacsではなくjoveというemacs cloneで、それがいやなら語尾にmがつかないviという世界だった。演習用のシステムのNFS Serverの全容量が300MB程度という世界。これを100人規模の生徒とfacultyが共有するという世界だった。
だから、当時はschemeというよりlispのいやなところを強く感じたと思う。次の学期でCとAssemblyに入ったとき、なんだかほっとした気がしたものだ。それでも、最後のinterpreterを作ったときに、S式というものに素直に感動した。
それが今やどうだ。今やschemeやlispの処理系は、言語処理系としてはずっと軽い部類に入る。掃除機に組み込まれていたり、携帯電話で動かしてみたり。schemeが重いなんていったら、mod_perlやtomcatなんてなんと呼んだらいいのだろう。時代はやっとlispに追いついたのである。
しかし、時代はなぜかlispを選ばず、もっとAlgolっぽいものを選んだ。Java, C#, Perl, Python, Ruby, Javascript....Lispはシンプルすぎたのだろうか?確かに括弧の種類はあまり少なすぎても目が痛くなるようだ。いくらEditorが括弧あわせしてくれても。
だけど、eval()がある言語はどれもlispの香りがする。sub{}もfunction(){}も行き着くところはlambdaなのだ。実際ある言語を習得する時に、schemeの処理系を書くということを私は結構する。もちろんフルセットではないけど、S式があって、consがあって、evaれる程度のものを。
今回の読書会に参加するにあたって、実は私は本書を買い直している。20年前に使ったものは中古品だった。大事にしていたのだが実家の火事で一緒に燃えてしまった。それ以来買い直していなかったのだが、やはり手元にあるのはいいものだ。私はbibliomaniaなので、今では本を2万冊以上持っているけれど、そういう気持ちにさせる本は滅多にない。
嬉しい事に本書はMIT Pressのsiteで全部ロハで読める上、今でもきちんと売れているおかげでAmazonで今発注すれば24時間とどけてくれる。「再会」しようと思えばいつでも再会できるので、つい再会を後回しにしてしまったが、今回の読書会が背中をおしてくれた形だ。
本書のもう一つうれしい点は、本書はあくまでもHackerに対して書かれているという点だ。電脳言語と文化というとPerlを今では真っ先に思い出すが、本書はその源流の一つだと思う。Alyssa P. HackerとEva Lu Atorは20年前と変わらない美人だった。
素人、玄人、文系、理系、老若男女を問わずお薦めの一冊。でも、もし本書を手にしたら、「読む」だけではなく「使って」欲しい。二十年前はこの「使う」が辛かったが、今それは全くない。手を動かすのが辛い分どうしても頭でそれを補完していたのが二十年前なら、今や手で直に感じ取る事ができる。
そうそう。この読書会では、今のペースだと第五章に到達するのにあと4年ほどかかるみたいだ。 娘達も充分参加できるなあ。そしてその頃にはFPGAハッキングが一般化して、「俺Lisp Machine」を普通に遊べるようになってるかも。それこそ本当の読書会ですね。
Dan the Occasional Schemer
See Also:
この記事へのトラックバックURL
□あの〜、ちょっとよろしいですか?
「実家の家事」は
「実家の火事」ではないでしょうか。
(私の知ってるmiwakoさんかな?)
というわけで直しました。ありがとうございます。
Dan the Typo Generator