2006年05月11日 01:30 [Edit]

(いい本) - 書評 - 計算機プログラムの構造と解釈(SICP)

というわけで、素人くさいSICP読書会第12回会場は拙宅でした。参加者の皆さんおつかれさま。

ogijunのあとで書く日記 - 素人くさいSICP読書会 第11回
来週は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

この記事へのトラックバック
今週も、同僚のよしてつさんと一緒に素人くさいSICP読書会に参加してきました。 今回は404 Blog Not Foundでお馴染みの小飼さんのご自宅で開催されました。 非常に素晴らしい環境を利用させていただいことに感謝いたします。 参加者は、だいたい前回と同じくらいで...
素人くさいSICP読書会#12レポート【Hello, world!】at 2006年05月11日 03:43
禿同。 Matzにっき(2006-12-06)今までLispという言語について語ったことはあったけれども、 LispコミュニティやLispユーザの精神性について言及したことはなかった(と思う)。 しかし、今回のことで「Lispが広まらないのには括弧以外の理由があるのかもね」と 強く感じた次第...
サルが使おうとすると怒られる気がする言語【404 Blog Not Found】at 2006年12月18日 07:53
正三郎さんの紹介をみて早速注文を入れたのがついさっき届いたので。 入門Common Lisp 新納浩幸 新納浩幸著「入門Common Lisp」: ホットコーナーの舞台裏出版社は、毎日コミュニケーションズ。最近、よくこういうのも出してくれ てますよね。ありがたいこと....
入門Common Lisp【404 Blog Not Found】at 2007年01月22日 14:35
その「蛭子能収」先生(笑)も納得するであろう一冊。 あなたはコンピュータを理解してますか? 梅津信幸 finalventの日記 - 蛭子能収先生、それは違いますだ これを大学の一、二年生の教科書に使える先生が少ねーからですだ。
書評 - あなたはコンピュータを理解してますか?【404 Blog Not Found】at 2007年03月18日 16:37
ピンポーン。ベッドから飛び出してインターフォンへ「はい?」 プログラミングGauche Kahuaプロジェクト / 川合史郎監 初出2008.03.13; 販売開始まで更新予定 「SWQ便です」「むぁ、ふぁーい」 ピンポンピンポーン。およ、もう玄関だ。「今行きまーす」 「お荷...
(use gauche); 書評 - プログラミングGauche【404 Blog Not Found】at 2008年03月13日 17:13
NTT出版牧野様より献本御礼。 しろうとクマくんとC言語の授業 岡嶋裕史 なに?C言語の初心者本?それも岡嶋裕二?しかも2,000円を切っている?言語本業界涙目? 涙目!....別の意味で。 駄目だよ、これじゃ!
(弘法も筆の誤り||まろび出た馬脚)? - 書評 - しろうとクマくんとC言語の授業【404 Blog Not Found】at 2008年08月08日 05:32
体系的にプログラミングを勉強したいと思っていたときに、小飼さんの(いい本)というエントリーで、schemeの本が紹介されていて、すっげー本だーと思い、いつかゲットするぞーと胸に秘めながら毎日を過ごし、
[本]ついにゲット!!Structure and Interpretation of Computer Programs【Bugle Diary】at 2008年11月16日 01:15
この記事へのコメント
>大事にしていたのだが実家の家事で一緒に燃えてしまった。
□あの〜、ちょっとよろしいですか?
「実家の家事」は
「実家の火事」ではないでしょうか。
Posted by miwako at 2006年05月11日 11:09
miwakoさん、
(私の知ってるmiwakoさんかな?)
というわけで直しました。ありがとうございます。
Dan the Typo Generator
Posted by at 2006年05月11日 11:13
あー、俺、括弧付けるの大好きなんだよね。∀∃
Posted by ふま at 2007年03月18日 17:38