「委員長、おはよう。これすごくよかった。またおもしろい本あったら教えて」
    「同じ人が書いた短編集ちょうど持ってるよ。持ってく?」

    「委員長、ごめん。こういうの好きじゃないの分かってるんだけど、どうしても渡してくれって頼まれて」
    「部活の先輩? それは断りにくいね。うん、大丈夫、ちゃんと返事するから」

    「委員長、また試食してくれる?今度こそ失敗してないと思うんだけど」
    「うん、これなら。ラッピング? この前行った製菓材料店の近くにいいお店あるよ」

    「委員長、昨日の委員会で会長にマジ切れしたって本当?」
    「うそうそ。確かにちょっとやり合ったけど」

    「委員長、助けて、今日のリーダー、超長いとこ当たりそうなの」
    「そういう時は夕べのうちに電話しなって。ノート見る?」

     始業のベルが鳴って、みんなが席に戻っていくと、いつものやり取りを見ていた隣のワタナベさんがため息をついて呟いた。
    「委員長、あたし、あんたみたいな子、ほんとは苦手なんだけどさ」
    「そこは『嫌い』でよくない?」
    「そう、そういうとこ。毒混ぜたじゃれ合いできるの、あんただけなんだよね。この学校、いい子ばっかりでさ」
     そう言っていつもの皮肉っぽい笑みを浮かべる。それが同じ歳と思えないくらいに似合っていて、お陰で私もあまり遠慮せず毒が吐ける。
    「それは見る目がないね。案外曲者揃いだよ、ここ」
    「あたしが興味あるのは、そういうあんたが、何でクラス委員なんて雑用係かってでているかってこと。何たくらんでんの?」
    一枚かませろ、とでも言いたげに愉快そうに言う。もちろん返事は期待してないんだろう。
    「精神修養?」
    「死ねや」
     ドアが開く音がして、ワタナベさんは視線を外して前に向き直った。私も座り直して背筋を伸ばす。
     リーダーの先生が教室に入ってきた。
     さあ、今日最初のお仕事だ。
    「起立、礼、着席」


     中学に入って最初のホームルームでクラス委員に指名された。
     女子は私、男子は入学式で代表挨拶をしたあの子。
     噂では入学試験主席の子が選ばれるというんだけど、担任に指名されたあの子は、見るからに影が薄くて、何も言わなかったけれど、どこか迷惑そうだった。

     何というか、悪い予感は最初からあった。
     基本的に人と話さない。人の輪に入ってこない。というより、気付くと教室にいない。居るときは、机に突っ伏して寝ているか、何か読んでいて、話しかけても気付かない。
     学校はいろんな人が来るところだから、人付き合いが苦手だとか面倒だというのもありだとは思う。けれど、クラス委員の仕事となると、やっぱり問題あって、実際のところホームルームの議事進行、クラス行事の企画運営、担任とのやり取りなんかは私が全部やることになった。委員二人で、ホームルームだと議事進行と書記役、運営だとリーダーと補佐を交代していくのが普通のやり方だったけど、あの子は必ず口を開かなくてよい方や前に出ないでよい方に回った。やる気の無さは誰の目にも明らかだった。
     「なんだ、こいつ」と思ったけど、本人に詰め寄るのも面倒なので先延ばしにしていた。正直にいうと、積極的に関わる意欲が沸かなかった。悪い言い方をすれば「いてもいなくてもどうでもいい奴」というカテゴリーに入れていた。
     それに、クラス委員だからと先生たちから非正規に振られる雑用は、その都度、目についたクラスメイトにどんどん頼んで、手伝ってもらった。普段からよく見ていると、どの子にどんなことならやってもらえそうか、自然と分かってくる。引き受けてもらえば、普段交流のない子とも話をする機会ができる。委員二人の内一人が「消えて」いるのは、すぐにクラスの共通見解みたいになったので、大抵のクラスメイトは苦笑いしながらも頼みごとに応じてくれた。
     
     
     あの子のことを思い出したのは、ある日のお昼休みだった。
     その頃になると、週に何日かは教室ではなく、ワタナベさんと食堂で食べることにしていた。
     「あたしといると人払いになるからね」
     ワタナベさんは笑って自分のランチボックスを開いてこっちに向ける。
    「また、そういうこと言う」
     私は怒ってみせながら、一番おいしそうな卵焼きをつまむ。楽しみにしてる、おかず交換の儀。
    「あー、気にしないで。わざとだから」
     ワタナベさんは、私のお弁当箱からハンバーグを選んだ。口に入れてもぐもぐした後、顔をしかめる。
    「だめ?」と思わず聞いてしまう。
    「そうじゃない。……ひき肉から自作かよ。あんたはもう努力すんな。遺伝子にあぐらかいて左うちわで暮らせ。おかわり」
     そう言ってワタナベさんはもう一切れさらっていく。
    「ワタナベさんこそ、この卵焼き、新作だよね。ちょっとカレー粉入ってる」
    「食べさすと表情くるくるの変わるが面白くてね。いろいろ冒険してんの」
    「失敗に当たったことないけど」
    「そういうのは親父と弟行き」
     二人でひとしきり笑って、食事を続けていると、男子が一人近づいてきた。上履きの色からすると2年生。顔を覚えるのは少し自信があったけれど思い出せない。頭のスイッチを切り替え、仮説を3つ立て、2つを消去した。
    「えーと、ひょっとして丸山先輩ですか? ごめんなさい。今、友人と食事中なんです。必ずお返事しますから、今はいいですか?」

    「けんもほろろにやっちゃって。良かったの?」
    とワタナベさんは少しも気にしてない風に言った。
    「気分を害したのは認める。ちょっと大人気なかった」
    私の方はまったく気にしてない訳じゃない。
    「食事の時間は神聖って、あんた軍人さんか?」
    「違うけど、こうしてる時間の方が大事なのは本当」
     ワタナベさんは大げさにため息をついてみせた。
    「あれ、今朝、押し付けられてた手紙の主?」
    「そうみたい」
    「あの先輩、泣きそうだったよ」
    「まさか」
    「前言撤回する。人払いはあんただった」
     ワタナベさんは多分わざとさっきの話を蒸し返した。私はちょっとむっとする。おかげで少しの間自己嫌悪から解放される。私の表情が変わったのだろう、ワタナベさんはにやりと笑って、それを教えてくれた。こういうとこ、かなわないな。
    「あんたがそういう話、嫌いなのはみんな知ってるからね。おかげであたしも無事でいられる」
    「どういうこと?」話が飛んでない?
    「あたしみたいなアウトカーストがハブられもせず、クラスで生きてられるのは、お弁当いっしょするくらいには、あんたのお気に入りだから」
    「……」
    「世界滅ぼしそうな顔すんな、消化に悪い。あー、あたしが悪かったから、そうだ、お詫びにひとつ愚痴でも聞いてあげよう」
    「愚痴?」
    「そこで不思議そうな顔されるとむかつく。なんかあるでしょ? そう、相方の幽霊クラス委員のこととか」
    「ああ。結果的になんとかなってるから、半分忘れてた」
    「やっぱり素でひどいね、あんた」
    「男子の情報が入ってこないのは気になってるけどね。ホームルームみたいな表の場には出てこない流れをつかんでないと判断を誤る場合があるから」
    「まあ、普段あれだけ女子に囲まれてたら、男子から情報取る暇ないか」
    「それもあるけど、男子に話しかけると変に緊張されるんだよね。頼みごとは引き受けてもらえるんだけど」
    「変に、って、あんたね」
    「小学校の時は男子とももう少しうまくやれた気がするけど」
    「ガキだったからよ」
    「中学生だってガキでしょ?」
    「色気づいたガキとそうじゃないガキ。天と地ほど違うわ。前から言おうと思ってたんだけどさ」
     ワタナベさんはお箸を置いて腕を組み、こっちを見た。
    「なあに?」
    「あんた、小さい時、男の子とばっかり遊んでたでしょ?」
    「……うん」
    「それも結構大きくなるまで」
    「小4まで、一人称『俺』でした。……実質、ガキ大将というか」
    「昭和か!? あんたの近所は土管付き空き地完備の藤子空間か?」
    「いろいろ限界感じて、小4でやめたんだけどね」
    「ふーん。で、ジャイアンから出来杉君にジョブチェンジしたわけか」
    「どんだけ藤子不二雄好きなの?」
     私は苦笑した。混ぜっ返したつもりだったけど、ワタナベさんは乗ってこなかった。かわりに視線を外して、窓の方を見たまま言った。
    「気をつけな。ままごと遊びをスルーしたあんたには、その辺の経験値欠けてるから」
     ようやく何かが頭の中でつながった。いつものようで、どこか違う物言い。言葉の奥にあるもの。手を膝において、背筋を伸ばす。
    「……ワタナベさん。何かあった?」
    「何かって、何が?」
    「いくら女の子に揉まれた経験がないからって、友達がひどい目にあったかどうかくらい分かる」
     私の言葉に頭を振って、ワタナベさんは肩をすくめて、こちらを見た。
    「迷わず直球かよ。……ああもう、分かったよ。個室から出てきたとこトイレで囲まれて『勘違いするな』とか、やられただけ」
    「ちょっと、それ!」
    「待った、最後まで聞け。『何のことか分からないけど、知り合いにこういうの大嫌いな子がいるから、今度聞いてみるわ』って言ったら、モーゼが海を分けるみたいにさっと引いたよ。勝手に名前使ったみたいで悪かったね」
    「……誰が、とか、詳しく聞いても答えないんだね?」
    「答えない」
    「なんでワタナベさんがそんな目に遭わなきゃなんないの?」ー「何で、そんなこと」
    「……それが分からないのは美徳だけどね。あんた、人に嫉妬したことないでしょ?」
    「あるよ、もちろん」
    「いま、こうして、あんたと差しでお昼してることを、羨ましく思ったり、『それもなんであんな奴が』と歯ぎしりしてる奴がいるなんて、想像の外でしょ? あ、そうそう。うちのクラスにもう一人、アウトカーストのくせにあんたとペアになってる奴がいるよね?」


     事件は数日後の放課後に起こった。
     その日は家の用事で学校を休んでいたのだけど、予定外に早く用事が済んだのと、次の日の委員会で使う作りかけの資料を教室に忘れていたので、着く頃には授業も終わってるだろうと思いながら、私は学校に向かったのだ。
     
     最初から見ていたわけじゃないので事の経緯はわからなかったけど、私が教室に入ってきた時には、クラス委員の片割れであるあの子が、クラスメイトの4、5人に取り囲まれて激しく罵られていた。
     遠巻きにそれを見ていたクラスの他の子たちが先に、その日休んでいたはずの私が入ってきたのに気づいた。
     ちょっとまずいよといった囁き声が聞こえたけど、あの子を取り囲んでる人垣まで伝わるには少し時間がかかったようだった。
     仕方なく私は声をかけた。
    「ちょっと、なにやってるの!?」
     輪を作っていた中の何人かが振り返り「やばい」という顔をした。
     でも、気まずさとかバツの悪さを隠そうとしてか、その子たちから出たのは別の言葉だった。この、何もやらないクラス委員に意見してやってるんだ、とか、挙句の果てには、私のためにかわりに言ってやってるんだ、みたいなことを言い出した。遠巻きにしていた中にも、うなずいてる子が出てきた。
     
     私は怒っていたと思う。
     実際、お腹の中で何かが煮えたぎって喉から飛び出そうな気がしてた。
     ワタナベさんのことがなければ(そして彼女の忠告がなければ)、人垣に飛び込んで2,3人窓から放り出したくなっていただろう。
     ワタナベさんはジョブチェンジと言ってくれた。私は努めて頭を冷たくする。ガキ大将時代、負けん気とケンカ早さだけが売りだったけれど、あれから言葉と状況判断は磨いてきたはず。
    「そう、わかった」
    落ち着いて、そう言えた。届くところにあった机を軽く叩いて前に出る。響くほどじゃないけど、みんなは私を見た。私は大きく息を吸った。
    「確かに!」
    さあ、一気に言う。
    「私も、そのクラス委員の片割れ君には言いたいことがあるけど、何をいつどこでどう言うかは、私の好きにさせてくれない? 私抜きの話なら、教育的指導だろうが袋たたきだろうがお好きにどうぞ。もちろんその場合は、クラス委員としての仕事をさせてもらうけど、どう?」
     このクラスでこんな真似は、金輪際これっぽっちだって許すつもりはない、というつもりで、お腹で声を支えて言った。
     視界の端に、目をそらして震えている女の子たちが写る。多分、彼女たちとはきちんと話をしないといけないけれど、今は放っておく。
     
     囲んでいた一人ひとりの顔を見るまでもなかった。
     一人離れ二人離れて、人垣がなくなると、その向こうに涼しい顔をして本から顔も上げない片割れ君がいた。これじゃ怒りに油を注ぐのも無理ない。
     私だって、今まで吊るし上げられたこの子に同情心のひとつも沸かないでいる。
     それでも、クラスのみんなは私を見ていた。この事態をどう処理するかを見ているのだ。今日ここで決着はつけないといけない。誰かに振るわけにもいかない。
     私はそのまま近づいていって、指で机をトントンと叩き、あの子の顔を上げさせた。
    「君と話がしたい。邪魔が入らなくて誤解の生じようのない場所がいいね。……生活指導の先生に言って指導面談室を借りよう。読書の時間を潰して悪いけど、ついてきて」
     クラス中に聞こえるように言って、私は教室の出口に歩き出した。


     事態をクラスの取り囲み有志一同から取り上げるために、「生活指導」「指導面談室」という言葉を出して、話を大事(おおごと)かつ公事(おおやけごと)にした。
     次は、私に取り扱えるまで小さくする。
     誰かに立ち会ってもらった方がいいのだけど、邪魔はされたくない。
     生活指導部へは行かず、職員室で担任を呼び出した。
     他の先生には聞こえないように低い声で「とうとうこんなことになりました」と、最初の指名に問題があった的なニュアンスを匂わせつつ、今あった事の顛末を簡単に伝えて、かぶせるように「どこか話ができる場所を借りれませんか」と言い添えた。多分、これでいけるはず。
     担任は白衣のポケットの中に手でつっこみ、鍵を鳴らした。
    「社会科準備室でいいか? あと30……25分か。職員会議があるから、それまでなら」


     3人で会議室へ。部屋に入るなり、
    「それで、まず二人で話したいんです。先生はそこにいてくれますか」
    と言って、廊下側の席を指差した。
     担任が腰を下ろしたのを見て、私たちは窓際の席を選んで座った。

     さて、どこから始めようか。
    「まず、何があったか聞いていい?」
    「……ぼくの証言だけだと、一方的にならないか?」
     少し呆れた顔であの子は言った。変なことを気にするなと思ったけど、こっちはあまり気に留めなかった。
    「どのみち事は一方的だったように見えたけど。それに私が話をしたいのは君なの」
     顔を覗き込むと、あの子は目をそらして窓の方を見た。視線はどこにも止まらず、記憶を巻き戻している感じだった。
    「……最初は『ちょっと話がある』だったかな。誰が言ったかまで分からない。それが合図だったみたいで、あちこちからさっきの5人が机のまわりに集まってきて」
     事前にそういう打ち合わせをしてたってことかな。×いつかこの手のことが起こるかもと思ってたけど、関心薄かったとはいえ、そういう動きに気づけなかった私もまだまだ甘い。
    「うん、それで」
    「最初は、委員長が……って、君のことだけど、クラス委員の仕事を委員以外の人間にやらすは何故だか分かるか、と聞いてきた。黙ってると、お前がそんなだから、って。それが口火になって、何考えてるんだ、とか、やめろとか、お前にやらすくらいなら、という子もいた。このあたりで君が戻ってきた」
    「そう。委員の本業以外の雑用を振ってるつもりだったんだけど、そんな区別までしないか、普通」
    「いや、あれは口実とか言い訳の類だと思う。ああなったのは、ぼくの態度が、あの子たちの神経を逆撫でしたせい。自分でも委員長らしくやれてるとは思わないし」
    うなずくかわりに私は別のことを言った。
    「委員らしくないのは仕方なくない? 一年生の一学期なんだし、正式に決められるようになるまでの暫定みたいなものでしょ?」
    「……ところが、暫定で決められたうちの、僕じゃない方の委員は、もう何年もやってるみたいに辣腕を振るう、定冠詞をつけたくなるような委員長だった」
     教科書を朗読するみたいな口調で、あの子は続けた。
    「普通なら、影の薄いまま、次の委員が決まれば最初は誰だったかなんて、みんな忘れてくれたと思う。けど光が強すぎて、影も濃くなってしまった」
     まったく。悪い予感は最初からあった。
     不慣れで身の丈越えた役目を押し付けられて、フリーズしてすべてに逃げ腰になっているというなら、手の出しようがある。でも、これは違う。
    「やっぱり、消えてるのは、わざとなんだ。で、理由も教えてもらえるの?」
    「時間が惜しい」
     即答だった。
    「それだけ?」
    「いけないか?」
    「うん。そうやって総スカンくらって君が被る悪評と、犠牲になる学校生活すべての時間に比べれば、全然割にあわない。……だったら、最初から降りようとは思わなかったの?」
     あの子は首を振った。
    「学校が決めたことに逆らうのは労ばかりで益がない。抵抗したこともあるけど、成果は数日就任が遅れるのとクラスメイトの白眼視が強くなるくらいだった。批判はどっちにしろ甘受しなきゃならないなら、これが僕にとっては最短の手なんだ。……君には迷惑かけて悪いけど」

    「そう、なんだ」
     ゆっくりそう言って、私はあの子がこっちを見るのを待って続けた。
    「正直……迷惑うんぬんはどうでもいい。今まで委員の仕事が負担だったことはないし、負担になっても切り抜ける手くらい、いくらだってある。そう、迷惑とか、できるできないの話だったら、ここまで腹立たない」
     予感が的中して、私は大いに不機嫌だった。
    「最初からいろいろ諦めてるみたいだけど、身を低くして何ヶ月か耐えさえしたら、後は周りがよろしく計らってくれるだろうって、あんた何様? 自分の評判って対価払ってるから、何やってもいいって思ってる? 事情とか理由があるなら、まずそれを説明するのが筋でしょう。それでどうなるかはその次の話。満足いかない結果なら、また次の手を打てばいい。どれだけ先が見通せるつもりなのか知らないけど、周囲の期待や理解が間違ってるからって、折り合いつけるためにあんたがしたことと言えば、どうせこんなもんだろうと周囲を見下して、決めつけて、どうしようもない選択肢しか残らないことに甘んじてるだけ」
    「誰もが君みたいに、主張できたり意思を通したりできるわけじゃない!」
     あんたに何が分かると言いそうになった。でも言わない。言うとしても今じゃない。
    「もし……君が言うようなことが私にできるって思うなら、どうしてその力を自分のために使おうと思わないの?」
    「何言ってる?これは僕の問題だ」
    「自分ひとりで考えて自分ひとりで打てる最善の手のつもりだろうけど、それが悪手だって言ってるの!」
    「大きなお世話だ! どっちが見下して決めつけてるんだ」
    「別に君に何かしてあげたいわけじゃない。思考停止して石みたいにずっと変わらないルートに入ってるのに気づきもしない馬鹿にむかつくだけ。それに二束三文でたたき売られそうな君の学校生活が可哀想。もっと他の子に与えられてたら、どれだけ貴重な3年間になったかもしれないのに」
    「何も、知らないくせに!」
    「そうよ、知らないわ。だって君は誰にも何も教えてないじゃない」
    「そこまで言うなら……教えてやる。来い」

     私たちは立ち上がった。望むところだ。
     言い合いが始まって、どのタイミングで割って入ろうか決めかねていた担任に、先制して声をかける。
    「ちょっと、行ってきます。後で報告に上がりますから職員室に戻っていてください」
    「い、行くってどこへ?」
     私はあの子を振り返る。
    「どこ?」
    「図書館」
     短く答えて、あの子は先に会議室を出ていった。
    「だそうです。大声出さなくて済みそう」
    と、にっこり担任に笑ってから、私も社会科準備室を出た。


     早足で向かうあの子に追いつき、横に並んだ。
    「そう言えば、教室からよく消えてるのは、いつも図書館へ行ってるの?」
    「そう」
    「一度行ったことあるわ。図書室じゃなくて図書館っていうから期待したけど」
    「あれでもこのあたりの中高じゃ一番ましな蔵書なんだ。小さくてびっくりした?」
    「そこまでじゃないけど、公立図書館に比べるとね。読みたいと思った本、探してなかったから。……何か一言ありそうね」
    「そんなものはないけど。でも、小さいからできることもある」
    「ん?どういうこと?」
    「多分見せた方が早いと思う」

     図書館は本校舎から中庭に出て奥に進んだ途中にある。
     その前まで来て立ち止まり、あの子は私を振り返った。
    「ここに何冊の本があるから知ってる?」
    「知らない」
     軽くてもため息をついて、あの子は続けた。
    「ざっと6万冊。うち開架されてるのが4万、残りは書庫にある。市町村立の公立図書館だと蔵書数何十万冊というところも珍しくない」
    「蔵書数だと及ぶべくもないのは、よくわかったわ」
    「もっとも上下の差は大きくて市町村立の公立図書館の3割は5万冊未満の蔵書しか持たない。それともう一つ。新規に購入できる書籍の数はここの図書館で年間で1500冊、公立図書館でも平均で年間8500冊。一方、日本で一年間出版される書籍は8万点ある。新刊書が読みたいなら素直に書店に行くべき」
     これは、さっきの私の「読みたいと思った本がなかった」を受けての発言だろう。むかつく。
    「こっちだ」
     私たちは入り口横のカウンターのまえをとおって、その奥にある検索ブースについた。
    「座ってて。ちょっと取ってくる」
     そう言ってさらに奥にある低い書棚から分厚い本を取ってきた。
    「その本は?」
    「『出版年鑑』目録・索引巻の去年の分。去年日本で出版された本が全て載ってる。どのページからでもいい、無作為に選んで」
    「ん? 本のタイトルを言えってこと? ...じゃあ、『高校生のためのアドラー心理学入門』」
    「ない」
    「なに言ってるの?」
    「コンピューターで検索できるから確認してくれていい」
    私はキーボードを叩いてリターンキーを押した。検索。確かにない。でもさっきの話が本当なら、去年出版された書籍がこの図書館にあるのは1500÷80000なら2%を切る確率になる。ふん、割のいいギャンブルじゃないの。
    「じゃあ、『南太平洋の剛腕投手』は?」
    「それもない」
     私は検索で確かめるふりをして、短いキーワードを入力し出てきたタイトルの一つを記憶した。
    「だったら『南太平洋のサンゴ島を掘る』」
    「ある。274.3。Dの島の2つ目の棚、一番下の段」
     私はあの子を見た。あの子は私に背を向けて立っていた。手元は見てない、ということだろう。いいや、次だ。
    「『世界を変えた100冊の本』」
    「それは019.9。Aの島の2つ目の棚、一番上の段」
    「『世界を変えた100の本の歴史図鑑』」
    「そっちはない」
    「……じゃあ、『倒立する塔の殺人』」
     私がここで探して見つからなかった本だ。
    「それはない」
    「『第七官界彷徨』は?」
    「そっちはある。913.6-オサ、Lの島の右から2つめ棚の上から二段目」
    それは私が借りた本だった。
    「『書記バートルビー/漂流船』」
    これも見つからなかった本。
    「それはないけど、叢書バベルの図書館に『代書人バートルビー 』って別訳がある。Lの島の右から1つめ棚、一番上の棚。908.3-バベ-9だ」
    「ちょ、ちょっと待って。手品とかゴールドリーディングの類じゃないっていうのなら、君は……この図書館の本をぜんぶ覚えてることになるんだけど」
    「まさか。開架書棚にある本のタイトルと著者名と図書分類コードを書き写しただけだ」
    「......だけって、うそでしょ。どれだけかかるとおもってるの?」
    「一冊あたり50文字だとすると600冊分写すと5万字、1分250字入力できるなら2時間かかる。4万冊あるから平日2時間、足りない分は土日に5時間つかって、結局2ヶ月かかった」
     あの子はポケットの中から折りたたみ式のキーボードのようなもの(ポメラっていうらしい)をとり出し見せてくれた。
    「参考図書の棚から始まってる。こっちは1000冊ぐらいだから目次も写した」
     あの子はポメラと交換するように『出版年鑑』を受け取り、低い書棚の方ヘ歩き出した。私は追いかける。
    「これが小さい図書館だから、できること? ……聞いていいんだよね。いったい何のため?」
    「うーん……紙の辞書は使ったことある?」
    「もちろん」
     あの子は書棚の前で立ち止まり、私の方を向いた。
    「ここが参考図書の棚。調べもののための本が揃ってる。辞書とか書誌つまりブックリストみたいなものだね。棚の背が低いのは、重い本が多いから机まで持っていかなくても、こんな風に棚の上で本を広げて使えるようするため」
     あの子は『出版年鑑』を棚に戻すと、棚に沿って少し移動して、同じくらいの大きさの辞典を棚から取り出してきた。
    「例えばこの『新社会学辞典』は1726ページある。真ん中のページは862ページと863ページだけど、ここに載ってる見出し〈せいちよ〉から〈せいとあ〉までで、項目だいうと《成長の限界》から《制度アプローチ》になる。どのあたりにどの項目が載っているのか、こういうのが体で分かっているのといないのとでは辞書を引く速さが変わってくる」
    「それはなんとなく分かるけど」
    「何冊かに分冊されてる大型の辞書ならなおさらだ。それに50音順やアルファベット順ならまだ検討もつけやすいけど、漢字だったら? 例えば、ここにある『大漢和辞書』は索引巻を除いても12分冊もある」
    「えーと、だから索引があるんじゃないの?」
    「そのとおり。一字に時間を掛けられるならそれでいいし、何の準備もなしに調べる必要が出てきた場合はそれで仕方がない。でも、たくさんの字を繰り返し調べるとしたら? そのための準備ができるとしたら?  例えば漢文で書かれた資料をたくさん読まなくてはならない人たちの間では、字を見て『大漢和辞書』のどの巻に載ってるか瞬時に判断できて自然にその巻に手が伸びるようでないと、漢文を読めるようにならないと言われてる」
     そう話ながら、あの子は次々に『大漢和辞書』の4つの巻を取り出し、次々に棚の上で開いていった。それは、まるで自分の部屋のドアを開けるみたいに無造作に見えた。
     思えば、人が辞書を引いているのを、じっと見ているなんて初めてだった。
     あの子は不本意そうにちょっと顔をしかめて、ページを何枚かめくってから、私を手招きした。4冊の辞書には、並べると私の名前になる漢字のページが開いていた。
     私は呆れていた。
    「この辞典も写したのね」
    「親字だけだけど。約5万字だから、1日2500字ずつ写して、こっちは20日間かかった」
    「つまりこれと同じことを、この図書館相手にやったってこと? この場所を使い古した自分の辞書みたいにするために」
    「これから毎日使うものだから、真っ先にやっておきたかった」
    「一度書き写しただけで、覚えられるものなの?」
     あの子は残念そうに首を振った。
    「そんな記憶力があるなら別のやり方してる。ただ一度自分の体を通っているから、聞けばあるかないかくらいは分かる。どのあたりにあるかも、何となく思い出せて、足が自然に向かう程度でしかない」

     時間が惜しい、といったのはこのことだったのか。
     同じことが私にできるだろうか。
     この子より時間がかかるだろうけど、本のタイトルを写すことならできるかもしれない。覚えきれるとは思えないけど、少しは記憶に残ったりするのかもしれない。
     けれど、私にはできるとは思えなかった。やろうと思えないし、たとえ始めてもやり通せそうにない。他にできそうな人だって思いつかない。
     あの子の話を聞きながら、私はもう一度、結局答えをもらえてない質問を考えた。
    「いったい何のために?」
     そう、そこだ。
     何より私には無理だと思うのは、そのことに意味が見い出せないからだ。
     この先この学校で(ひょっとするとその先のどこででも)、誰とも交わらず一人ぼっちで過ごすことに引き合う何が、図書館の本棚を書き写すことにあるんだろう?
     不意に、昔読んだミステリーを思い出した。特に不自由のない軟禁生活から外の世界に出る自由を得るために、密かに生んだ自分の娘の命も、十何年かけて育てた時間も、平気で犠牲にしてしまえる女性の物語。トリックはたわいもないものだったけど、それを可能にする犠牲の大きさと、その大きさに頓着しない犯人の収支計算のひっくり返り加減に、クラクラしたのだ。
     莫大な時間や円満な学校生活を犠牲にする代わりに、この子が手に入れるのは、たかだか図書館のどこにどんな本があるとか、どの項目が辞書のどこに載っているかがすぐに分かる、ということだけだ。
     私が持つことのできる感想は、「私には理解できないけど、君にとっては何より大事なことなんだね」というくらいだった。
     私はその言葉を飲み込んだ。
     私にも、他人に理解されそうにない大切なことがある。
     今思いついたのは、そんな私が一番聞きたくない言葉だと思った。
     この子もきっと、時間をつぎ込み自分が打ち込んでいることが、そう言われる類のことだと知っている。
     だから本当は、自分が何を何のためにやっているか説明するつもりなどなかったのだ。

    「あとひとつだけいい?」
    「なに?」
    「指、見せて」
    「え? ああ、まあ、いいけど」
     あの子は両手を広げて、前に突き出した。
     私はその十本を手にとってジロジロ見た。辞書引きタコがあるわけでもなくて、指紋が擦り切れて消えているわけでもない。
    「普通だね」
    「変なのは君だろ」
     あの子はひったくるみたいに自分の手を取り返した。


     
    スポンサーサイト

    シネクドキ探索
    ……それは何の一種か?


    少女:前に先生と話してて、昔の探しものは「それは何に属するのか?」を推測することがメインだった、というのを聞いたんだけど。

    少年:今もそうだよ。

    少女:でも、今は検索エンジンがあるじゃない。だから思いついた言葉を入力すると、何か結果が出てくるけど、昔はどの本で調べればいいかをまず決めないといけないから、「それは何に属するのか?」を考えるんだよね。

    少年:たとえば、ヘミングウェイについて調べようと思ったら、今ならGoogleに「ヘミングウェイ」と入力するだけでいいけど、昔は「ヘミングウェイについてどの本に載っているだろう?」という質問に答えるのに「ヘミングウェイは何に属するのか?→アメリカの小説家→アメリカ文学の棚とか事典を見よう」って考えるってこと?

    少女:そうそう。今もそんな風に考えてる?

    少年:少なくとも探し方の一つの柱だと思う。我流の呼び方だど〈シネクドキ探索〉って言ってる。

    少女:また知らない言葉が出てきた。

    少年:シネクドキっていうのはレトリックの用語で、上位概念を下位概念で、または逆に下位概念を上位概念で言い換えて、カテゴリー関係を上ったり下ったり表現のことなんだけど。たとえば日本語で「花見」っていうと、「ただ(なんでもいいから)花を見ること」じゃなくて、「(花の中でも、特に)桜の花をみること」を意味する。これがシネクドキ。

    少女:「桜の花」は「花」の一種で一部だけど、上位概念の「花」で下位概念の「桜の花」を表わすやり方ってことね。これがどう探しものと関係するの。


    hana-sakura.png


    少年:「ヘミングウェイ」は「アメリカの文学者」の一種だけど、上位概念の「アメリカの文学」について探すことで下位概念の「ヘミングウェイ」についての情報を得るやり方を〈シネクドキ探索〉って呼んでる。

    bungaku1.png

    少女:わざわざ名前をつけるまでもなく、普通にやっていることじゃないの?

    少年:うん。なんで〈シネクドキ探索〉が当たり前に思えるくらい、探しものの中心にいるかといえば、ぼくらの知識の分類やそれに基づく調査ツールが、より広い概念(上位概念)が、より狭い概念(下位概念)を包み込むように、階層的に整理されて組織化されているから。図書館の分類とかが分かりやすいかな。でも誰もがやってるわけじゃない、というか〈シネクドキ探索〉ができる人は案外少ない。

    少女:そうなの?

    少年:本を探すことに関して言うと、図書館の検索は検索エンジンより使いにくいと言われてきたんだけど、理由のひとつは、一冊単位でしか探せなかったから。知りたいことをただ入力しても、そのテーマについて一冊まるごと書いた本があるとは限らない。たとえば「高脂血症」と図書館の検索に入力してもうまくいかない。「高脂血症」ぐらいだと一冊まるごと書いた本はないことはないけど、すごく専門的で普通の人がみたいものじゃない。

    少女:「高脂血症」の上位概念を考えればいいのかな? ……って、何かの病気ってことわかるけど、どの分野の病気かは分からないよ。

    少年:だったら「病気」一般を扱った、一般向けの書物を探すといい。「高脂血症」について載っているのは1ページ満たなくても、かえってそれくらい簡潔な方が情報ニーズに合ってたりする。

    少女:それくらいだとネットの検索のほうが手軽だね。でも、ある本の一部分だけが必要なことって、調べものには多いかも。ああ、こういうことを知らないと、図書館は貸本屋でしかなくなるのかな。

    少年:多分。知りたいことから始めてその上位概念へとたどっていく〈シネクドキ探索〉ができると、図書館は段違いに役に立つところになる。当たり前すぎるんで、わざわざ教えてもらえないことが多いけど。



    ◯シネクドキ探索をサポートするツール

    少女:でも実際に〈シネクドキ探索〉とすると、ヘミングウェイはアメリカの小説家(の一種)だと分かるためには知識が必要だよね。ヘミングウェイくらいなら知ってるけど、さっきの高脂血症みたいに何の一種か、知識がないから分からない、でも、だからこそ調べたいってことが多い気がするけど。

    少年:いろいろ頼ることができるものはあるよ。まず〈シネクドキ探索〉のアプローチをもっと進めるとヘミングウェイ→(その上位概念)→アメリカの文学者→(その上位概念)→文学者→(その上位概念)→人物…ってとこまでいく。ここまで来ると「何してる人か分からないけど、人だってことは分かるから人物事典を引こう」となる。

    bungaku2.png

    少女:じゃあ人物であることも分からなかったら?

    少年:そういやロートレアモンを鉱物の名前だと思っていた人がいたけど。だったら更に上位のカテゴリーをカバーする百科事典を引く。まあ今だと、検索するのが速いけど。そうして「アメリカの小説家」っていう最低限の情報が手に入ったら、もっと詳しい情報はより狭いカテゴリーを扱った資料で見ることができるだろうと考えて、今度は下位概念の方向へと(必要なら)進んでいくことができる。

    少女:そうか、上位の概念やカテゴリーへ向かうだけじゃなくて、今度は下位の概念やカテゴリーに返ってくるまで含めて〈シネクドキ探索〉なんだ。

    少年:だからこそ、調べものという作業の一つの柱になってる。あと他に、知識がない場合に〈シネクドキ探索〉を助けるツールでいうと、前に紹介したリサーチ・ナビ(http://rnavi.ndl.go.jp/rnavi/)のテーママップは、上位概念や上位カテゴリーを図解化してくれて分かりやすい。他に「調べ方」や該当する書物や雑誌記事、それにキーワードやウィキペディアのリンクも一遍に出してくれるので、まったく知らないことなら探しもののスタートに使える。(例:「ヘミングウェイ」)

    hemi-part.png


    少女:これ見ると、ヘミングウェイって、「ノーベル賞」もらってたり「自殺した人物」だったり「イリノイ州の人物」だったりするのね。

    少年:他には、入力したキーワードが日本十進分類法のどこに当てはまるかをツリー上に表示してくれるNDC Finder(http://inforg.slis.tsukuba.ac.jp/ndcfinder/)も分かりやすい。

    NDCfinder.png


    (テーママップについての参考記事)





    メトニミー探索
    ……それは何のそばにいるか?


    少年:実は、わざわざ名前をレトリック論から借りてきたのは、探しものの他のアプローチと対比させるためだったんだけど。

    少女:他の何と?

    少年:探しもので、これも普通にやっていることだけど、隣接性というか共起関係を手がかりにするアプローチがある。これも我流だけど〈メトニミー探索〉って呼んでるんだけど。

    少女:それもレトリックの用語?

    少年:うん。たとえば「永田町」で「日本の国会」を表わすようなのをメトニミーっていう。国会議事堂が建っているのが永田町だっただけで、「永田町」と「日本の国会」の間には、概念的に包含関係とか上下関係があるわけじゃないよね。

    少女:そうだね。そういう、隣り合ってたり近くにあったりするものを手がかりにするって、探しものでいうとどういうこと?

    少年:「将を射んと欲すれば先ず馬を射よ」的アプローチというか、こっちは検索エンジンのような全文検索ができる場面で活躍する。たとえば、欲しい情報に含まれているはずの表現を検索ワードに含めると、要らない情報が除かれて検索精度があがる。

    少女:前にレシピを探すのには「グラム」を検索ワードに入れるといい、って言ってたね。あと「血を吸う」を英語でなんていうか調べるのに「mosquito(蚊) * blood(血)」で検索する、とか。

    少年:もっと普通の例を出すと、その分野の専門用語とか研究者の名前を付け加えて検索する。

    少女:そうすると「欲しい情報に含まれているはずの表現」って、その分野の知識がないと思いつかないんじゃない?

    少年:プラトンの対話篇『メノン』に出てくる探索のパラドクスだ。探している対象が何であるかを知っていなければ探しようがない(けれど、知っているならばもう探す必要がない)。でも現実には、検索のマタイ効果(知識の富めば富むほど探しものは捗るからますます知識に富む)みたいなことはあるけど、探しものをはじめると、入手できた文献とか検索結果の中に、一緒に出てくる言葉が、次の検索に活かされる。入門書の目次でも、そこに出てくる言葉が次の手がかりになる。何も知らない場合は、とくにそうだ。探し始めれば何とかなることの方が、ずっと多い。



    ◯メトニミー探索をサポートするツール

    少年:でも、この問題は早くから知られてきたから、今の検索エンジンにはいくらか補完する機能がついてる。

    少女:なに、それ?

    少年:サジェスト機能。

    少女:検索サイトで入力すると候補が自動的に表示されるやつ? あれってそんな大層なもの? 入力の手間が省けるだけじゃないの?

    少年:サジェスト機能は、過去に自分が入力した文字やデータを再入力する手間を減らすオートコンプリート機能とは似て非なるものだよ。一度も入力したことのない単語だって出てくるでしょ。過去のユーザーがキーワードを入力した頻度が反映されて、あのキーワードを検索した人たちが、同時に入力した言葉が出てくる。いろんな人がどうやって/どんな言葉で調べものをしたのか、を煮詰めたもので、集合知というには大げさだけど、その切れっ端くらいではある。

    少女:「読書猿」って入力すると「読書猿 正体」「読書猿 何者」って出てくるんだけど。

    google-saru.png


    少年:一つ一つ見ていくのがまどろっこしい時……まったく未知の分野のこと調べ物する場合だけど、どんな言葉を付帯させたらいいか知るのに、こんなのをPythonで作って使ってる。「サジェストマップ」って名前をつけたけど。キーワードをGoogle Suggest APIに投げて、返ってきた答えをもう一度投げて、最後に結果をgraphvizってソフトで使えるように変換して渡してるだけのものだけど※。クリックすると、その該当の言葉の組み合わせでgoogle検索できるようにしてある(「高脂血症→原因→犬」とつながってる「犬」をクリックすると「高脂血症 原因 犬」でgoogle検索する)から、ネット調査の橋頭堡には使える。一つ作ったら、単語を追加したり、少し表現を変えて、何度かマップを作ると周囲を広げながら掘っていける。


    高脂血症+suggest
    (クリックでリンク付きのsvgファイルへ)


    ※設定は
    graph[layout = neato, concentrate = true, overlap = false, splines = true];
    ばねモデルによるneatoレイアウト(エッジをばねと見立てたとき、力の均衡が取れた状態)。長さが1より大きいエッジが束ね、ノードの重複を禁止。エッジはスプライン曲線にして極力ノードと重ならないようにする。



    少女:一見、ちょっとすごい感じだけど。

    少年:もっともらしいんだけど、分類をしてるわけじゃないんで、見かけほど意味がある図じゃない。あくまで縦に長いサジェストワードのリストより、一望化できるように一枚に配置したのがウリかな。だから初見ではこれ使うけど、後でサジェストのリストをペーストして、マインドマップのソフトの上で自分の手で整理してる。整理するには一通りは見なきゃならないし、知らない単語は調べなきゃならないから、分類整理してる間に未知のキーワードは学習できるし、キーワード同士のつながりも頭に入るから、背景知識の整理にはなる。まあ、教科書とか入門書がある分野なら、そっちを読む方が速いけど。


    (「欲しい情報に含まれているはずの表現」についての参考記事)






    メタファー/アナロジー探索
    ……それに当たるものは何か?


    少年:シネクドキ、メトニミーときたら、もっと有名なメタファーがある。

    少女:それは聞いたことある。比喩だけど、「〜のようだ」みたいに比喩であることを名乗ってないもののことだよね。

    少年:メタファーやシミル(直喩)は人間の類推能力の現れだとも言えて、知らないことや言葉が足りないことを扱う場合には便利で、かつ不可欠ですらある。

    少女:確かに、なんて呼んだらいいか分からないものって、確かに「◯◯みたいなもの」って言ったりするね。メタファー的な探し方ってどういうの?

    少年:ただ類似のものを探すっていう話ならWebcat Plus(http://webcatplus.nii.ac.jp/)の連想検索とかいろいろあるけど、メタファーというのは類似性をテコにするけど、その類似性はほんとは字義どおりの類似性じゃない。

    少女:また難しいこと言おうとしてる?

    少年:ちょっと、そうかも。近年のメタファー論は新たな意味の創発に重点を置いていて、陳腐な例だと「あの男は狼だ」という表現がメタファーなのは、その男の人の見かけが狼そっくりってことじゃないよね? 狼みたいに毛深いとかしっぽがあるとかって話じゃなくて、本来異質であるはずの「男」と「狼」を出会わせぶつけることでメタファーは生まれる。狼のもつある側面がその男の側面とどこか重なりあう部分を発見することが、イコール比喩を理解することだったりする。もう少し大げさに言えば、その重なりあう側面が、その場限りの意味というかカテゴリーとして創発する。メタファーによって立ち現れるカテゴリーをアドホック・カテゴリーといったりするんだけど。

    少女:ちょっと待って。それって探しものの話になるの?

    少年:もう少し待って。えーと、そうだな、結論から言うと、〈シネクドキ探索〉や〈メトニミー探索〉は、探したいものをどう表現したらいいか分からない場合に役に立ったけれど、〈メタファー探索〉は何を探せばいいかすら分からない、探しものの前段階で役に立つ。

    少女:ちょっと難しくてイメージできないんだけど。

    少年:これまでの自分の知識とか見方では言い表せないことを捕まえるのに、そのための枠組みを作り出すアプローチを〈メタファー探索〉って呼んでみてる。

    少女:もうちょっと具体的にお願い。

    少年:たとえば今回したような話をどうやって考えていったか説明するとね。こういう表を作って、空いている項目について「ここに当たるものは何か?」と考えた。実は、これはメタファーというより、アナロジーといった方がいいけど。

     レトリック  探しもの 
     シネクドキ (ここに当たるものは何か?)
     メトニミー (ここに当たるものは何か?)



    少女:メタファーとアナロジーってどういう関係?

    少年:陸続きだけど、あえていうならメアファーはさっきの「あの男」と「狼」みたいに点と点で対応してるけど、アナロギーは面と面の対応、というか、複数の点と点の対応に展開していく感じ。今のだと、「レトリック」と「探しもの」が対応するなら、レトリックの一部である「シネクドキ」に対応する何かもあるはず、「メトニミー」に対応する何かもあるはず・・・って複数の対応に広げていける感じ。ただ、良いメタファーっていうのは喚起的というか創発的なだから、「それが言えるんだったらもっと他のこともって言えるんじゃないか」という気にさせるというか、アナロジーを呼び寄せるところがあると思う。

    meta-ana.png

    少女:えーと、「レトリックにおけるシネクドキみたいなものは、探しものでいうと何か?」って問いからはじめた訳?

    少年:本当は、探しものの中でよくやるアプローチには違う方向性のものが混じっている感じが、うまく言葉にできないし形にならなかったんだけど、それって何かでうまく言い表せないかな、というのがそもそもの発端だったかな。それを捕まえるのに「探しものは、レトリックだ」ってメタファー(?)がテコになったんだ。

    少女:「探しもの」に「レトリック」をぶつけることで、「探しもの」についての新しい見方を生み出したってこと?……なんか、あれみたい。大喜利でやる「○○とかけまして、××と解く、そのこころは?」ってやつ。

    少年:そう、それに近い。メタファーで似ているけれど似てないものをぶつけ合って、それに喚起されて複数の突き合わせに展開して、さっきみたいに表が埋まりだしたら、だったらレトリックで他のものも、探しもののアプローチを説明するのに使えないかと考えを進めていった。

     レトリック  探しもの 
     シネクドキ 包含関係を上下する
     メトニミー 共起関係を利用する
     メタファー (ここに当たるものは何か?)



    少女:うーん、なんとなく分かるけど、それってもう〈探しもの〉ってレベルじゃないよ。

    少年:だから「何を探せばいいかすら分からない、探しものの前段階で」って言った。むしろ調査することに先立つ、
    (調査すべき)仮説・問題をみつけるアプローチというか。もっとも〈メタファー/アナロギー探索〉が「このへんを探してみろ」と示唆するのは、なんて表現すればいいか分からないだけじゃなくて、そもそもまだ存在しないものかもしれない。既存の資料を探すだけじゃ見つからないかもしれないし、だいたい既存の知識にどう結びつければいいか分からないことが多い。けれど誰かに課題を与えられてする訳じゃない自発的な探しものは、こういう前段階があるんだと思う。

    少女:うーん、やっぱり〈探しもの〉というより、考え方というか思いつき方みたいなものじゃないの?

    少年:うん、むしろ発想法みたいなものだ。既存でないアイデアを生み出すための発想法には、メタファー/類似性を使うものが結構あるんだ。等価変換法とかシネクティクスとかNM法とか、TRIZも自然界の現象に学ぶっていうし、その改良版のUSITも類比志向がキモになってるし。たとえばNM法だと、まず「QA(question analogy):これと似ているものは?/◯◯なものといえば例えば?」とメタファー的に考えたあと、QB(question background)「そこで何が起きているのか?」とメトニミー的に展開するけど、この段階では本当に探しものして着想を広げたりできる。

    少女:「発想法はレトリックだ」だね。探しものを組み込んだ発想法って感じ。じゃあ、発想法と探しものも似てる?

    少年:アナロジー探索を進めるなら、自分の外を探すのが探しものなら、自分の内に探すのが発想法といえるかも。もっとも、外から内へ情報を取り入れたり、内から外へアイデアを出したりできるのだから、自分の外と内の境界はそんなに絶対的なものじゃない。これも下の表みたいな類比で考えたんだけど。

     レトリック  探しもの  発想法 
    シネクドキ包含関係を上下する(ここに当たるものは何か?)
    メトニミー共起関係を利用するNM法QB、カラーバス
    メタファー/アナロジー見立て・類比で未知を見出すシネクティクス、NM法QA




    (おまけ)
    「読書猿」についてサジェストマップをつくってみた


    rm_suggest.png
    (クリックでリンク付きのsvgファイルへ)


     
    少女:聞きたいことがあるんだけど。プログラミングとかする?

    少年:しない。

    少女:前に何かちょこちょこっと作ってたことなかった?

    少年:コンピュータ周りの雑用をやらせるスクリプトのこと? 大抵は数行くらいの使い捨てだけど。繰り返し使ってるのは、近代デジタルライブラリーからダウンロードして一つのファイルにまとめる奴くらい。

    少女:あ、それ欲しい。そういうのってどうやったら作れるようになるの?

    少年:うーん、こういうのは禁煙さんが詳しいんだけど。よく使ってるのはPythonってプログラミング言語だけど、これも禁煙さんのオススメだったし。

    少女:そうなんだ。ねえ、今度一緒に禁煙さんとこ行かない?

    少年:いや、それはちょっと。

    少女:あれ?苦手だっけ?

    少年:少し。コンピュータの話になると、あの人ちょっと…・・・。

    少女:ふーん。じゃあ禁煙さんに教わったこと、教えて。

    少年:教わったっていっても大したことじゃ。「とりあえず、これ読め」とか、そういうのだし。

    少女:それそれ。何を読んだのか、具体的にそこを教えてよ。



    Pythonとコピペ・コーディング

    少年:Pythonは、特に本は見てなくて、公式サイトのドキュメントだけ。「Python のセットアップと利用法」(http://docs.python.jp/2/using/index.html)で、手順通りPythonをダウンロードしてきて使えるようにして、それからチュートリアル(http://docs.python.jp/2/tutorial/index.html)を半分くらいやった。

    http://docs.python.jp/2/tutorial/index.html

    少女:えーと、チュートリアルって何?

    少年:操作や使い方を一通り練習できる手順書。このように操作するとこうなる、こういうプログラムだとこうなる、って感じの構成になってて、書いてある手順通りやってみたり、例題の短いプログラムを入力して実行してみたりしながら、ひと通りのことが学べるようになってる。

    少女:君がよくやってる〈写経〉みたいに〈読む→写す→試す〉を繰り返していくの?

    少年:それよりは、出てくる数式を数式処理ソフトで計算しながら本を読むのに似てる。コンピュータ相手に入力しそこなうと、書いてあるとおりの事が起こらないから間違いには気づきやすい。

    少女:写してるだけで分かったりするものなの?

    少年:コンピュータにコードを入力していくのは、ただ書き写す(精確に自分の中を通す)だけじゃなくプラスアルファがあって、むしろ棋士が盤の上に棋譜を並べるのに近い気がする。実際にプログラムを動かすことと陸続きだし、写したプログラムを一部作り変えては試してみたりできるし。

    少女:駒の動き=プログラムの動きを自分の手でやってみる感じ?

    少年:そう。あと、今プログラムのどの部分を実行していて内部で何が起こっているかを逐一表示してくれるツールがあって、デバッガ(Debugger)とか統合開発環境(IDE)でできるんだけど、序盤過ぎたあたりから結構助けられた。使ってたのはオンライン上でできるやつで、PythonやJavaやJavaScript用だけど、Online Python Tutor(http://www.pythontutor.com)というのがあって、分かりやすかった。

    OnlinePythonTutor2.png


    少女:そうやってプログラムの動き方を追っかけていけば、作りたいものが作れるようになる?

    少年:あー、それはむしろ、逆引きというか「やりたいこと+Python」で検索して、見つけたものを組み合わせるって感じで。「コピペ・コーディング」「開発環境はGoogle」みたいな。

    少女:「写経」どころか「コピペ」? そんなのでいいの?

    少年:使ってる人が多い言語だと、結構なんとかなる。

    少女:「検索で何とかする」ってところが、らしいといえばらしいけど。

    少年:いや、他の誰かがすでにやってくれてることを再利用するのは、誰でもやってる普通のことなんだけど。今どきのプログラミング言語だと、特定の機能を持ったプログラムを「ライブラリ」って形で、他のプログラムから利用できるように部品化して利用しやすくしてある。自分がやりたいことをやってくれるプログラムを作るのは、一から全部自分でやるわけじゃなくて、そういう部品を探して組み合わせるのが主な作業って感じなんだけど。



    C言語とラテン語

    少女:それ以外に禁煙さんから何か教わった?

    少年:「自分では書かなくてもいいけど、C言語は読んで分かるようになっとくこと」って言われた。

    少女:どうして?

    少年:プログラマーの共通語だから。携帯電話や電化製品からスーパーコンピューターまで席巻したUnix(やUnix由来のOS)はローマ帝国みたいなもので(これを「UNIXの平和 パクス・ウニクサ」という)で、そのシステムを書くために登場したC言語はラテン語みたいなものだからって。

    少女:それって死語ってこと?

    少年:まだまだ現役だから、そんなこというと誰かに怒られそうだけど。「C言語=ラテン語」っていうのは共通語だって他に、C言語は文法は結構シンプルなんだけど、文法以外にこうした方がいいとかこうすべきでないみたいな慣習というか経験則があって、これもラテン語に似てる。

    少女:ラテン語って文法かんたんなの?

    少年:他の古典語に比べれば。ラテン語の場合、学ぶことが多いのはむしろ文法を学んだ後の方なんだ。

    少女:それで、どうやって勉強したの?

    少年:ネットの入門サイト(こことかここ)をいくつか眺めて文法事項が分かったらこれを読めって禁煙さんに『デーモン君のソース探検』って本を渡された。

    デーモン君のソース探検―BSDのソースコードを探る冒険者たちのための手引き書 (BSD magazine Books)デーモン君のソース探検―BSDのソースコードを探る冒険者たちのための手引き書 (BSD magazine Books)
    氷山 素子

    アスキー
    売り上げランキング : 621935

    Amazonで詳しく見る


    少女:どういう本?

    少年:主人公が中学1年のデーモン君で、毎回、デーモン君が通う中学校で宿題が出て、いろいろ調べるんだけど行き詰まって、毎回パパ(時にはママ)に泣きつくってパターンの対話もの。

    少女:私達と同じ歳ね。

    少年:いきなり「中学校の授業では、プログラムのソースを読みます。」からはじまる。

    少女:ええっ、読まないよ。

    少年:「ポインタは小学校で習わなかったのか?」とかパパに言われたりする。

    少女:いや、習わないよ。

    少年:こういうout-of-the-worldなノリでガンガン進んでいく、いかにも禁煙さんが好きそうな本なんだけど。NetBSDってUnixの一種なんだけど、そのコマンドとか関数のソースコードを毎回読んでいく。実際に動いてるシステムがC言語でどう書いてあるか探検してくというか。

    少女:いきなり実践って感じね。

    少年:さすがにいきなりは苦しかったんで、C言語の悪い書き方と良い書き方が対照してある『美しいCプログラミング見本帖』って本で、悪い書き方を書きなおしながら、ネットでの質問解答をまとめた『CプログラミングFAQ』ってのを読んでいった。でも、少しでも読めるようになったのは、自分でもすごく短いプログラム(カレンダーを表示する、みたいなやつ)をいくつか書いてみた後かな。

    美しいCプログラミング見本帖―ポインタ手習い指南美しいCプログラミング見本帖―ポインタ手習い指南
    柏原 正三

    翔泳社
    売り上げランキング : 262505

    Amazonで詳しく見る

    CプログラミングFAQ―Cプログラミングのよく尋ねられる質問 (新紀元社情報工学シリーズ)CプログラミングFAQ―Cプログラミングのよく尋ねられる質問 (新紀元社情報工学シリーズ)
    スティーブ サミット,Steve Summit,北野 欽一

    新紀元社
    売り上げランキング : 177096

    Amazonで詳しく見る



    少女:前に何かの時に「書かないと読めるようにならない」って言ってたね。あれは文章のことだったけど。

    少年:「読まないと書けるようにならない」というのもあると思うけど。C言語の入門サイトではあんまりな評判だったけど、ブライアン・カーニハン とデニス・リッチーの『プログラミング言語C』って本が、例題がUNIXコマンドを自分で書いてみるみたいなのが多くて、ちょうどデーモン君と反対側から登る感じで読めた。ホントはその前に『UNIXプログラミング環境』を見つけて、そっちに助けられた感じなんだけど。

    プログラミング言語C 第2版 ANSI規格準拠プログラミング言語C 第2版 ANSI規格準拠
    B.W. カーニハン,D.M. リッチー,石田 晴久

    共立出版
    売り上げランキング : 20157

    Amazonで詳しく見る

    UNIXプログラミング環境 (海外ブックス)UNIXプログラミング環境 (海外ブックス)
    Brian W.Kernighan,Rob Pike,石田 晴久

    アスキー
    売り上げランキング : 262813

    Amazonで詳しく見る



    少女:それってどういう本?

    少年:どっちもUnixやC言語を作った本人たちの本なんだけど、『UNIXプログラミング環境』は、Unixで仕事をするのに、手持ちの道具をどう使うか、どう組み合わせるかみたいなところから始まって、このコマンドちょっと使い勝手が良くないから少しだけ簡単に改良してみるって話から少しずつプログラミングするようになって、最後はC言語でコマンドをつくるところまで進んでいく。

    少女:それもデーモン君の反対側から登る本だったんだ。

    少年:やりたいことがあってやり方を調べるのはネットを使うとそんなに苦労せずに分かることが多いし、もともとやり方(How to do)は見よう見まねでまだ何とかなるものなんだけど、何でこんなことやるのか(Why to do)とか、これができて何がうれしいのかっていう背景というか文脈(コンテキスト)みたいなことが『UNIXプログラミング環境』を読むと随分納得できた。Unix抜きでC言語だけの入門書って、そのへんがばっさり抜けてるから、なんか気持ち悪かったんだけど、そのあたりを埋めてくれた気がする。




    Lispとレトロゲーム

    少女:他には何を?

    少年:あとはLispをやれ、って。

    少女:なんて言って勧められたの?

    少年:……「Lispやるとアタマがよくなる」

    少女:うわあ。それはさすがにちょっと。

    少年:で、『Land of Lisp』っていう禁煙さん好みの本が出てきて、あんまりひどいんで、大笑いしながら勢いで読めた。実はLispの本で最後まで読めたのは初めて。

    Land of LispLand of Lisp
    M.D. Conrad Barski,川合 史朗

    オライリージャパン
    売り上げランキング : 104249

    Amazonで詳しく見る

    Land of LispLand of Lisp


    売り上げランキング : 1897610

    Amazonで詳しく見る



    少女:どういう本?

    少年:レトロゲームというか、パソコン黎明期のゲームあたりからはじめて、だんだんややこしいゲームを作っていく中でLispを学ぼうって本。ノリは何というか、ネットでみかけるLisperのジョークを確信犯的に繰り出してく感じなんだけど。

    少女:LisperってLispやってる人のこと? どういうジョーク?

    少年:いや「神様は世界をLispで書いた」とか、そういうの。(あとこの辺とかこの辺とかこの辺)。

    OnlinePythonTutor2.png

    http://xkcd.com/224/



    少年:でもゲームを題材っていうのはいい手かも、って思った。


    少女:どうして?

    少年:日常のルーチン作業で扱うような表にまとめられるようなデータってそこまで複雑じゃないし、お仕着せのライブラリで済みそうなのだと、Lispの有り難みが出にくいというか。ゲームだと設定とか世界観次第で好きなだけ入り組んだデータ構造とか、面倒くさい問題を扱って「Lispすごい」って話に持って行きやすい。昔だと、そういう面倒くさい題材が人工知能だったんだと思う。

    少女:読んだのはそれくらい?

    少年:いや、『Land of Lisp』 は勢いでどんどん進む本だから、笑ってるうちに途中から理解が怪しくなってきたんで(コンピュータに入力しながら読むのをサボりだしたせいもあるけど)、もっと易しい本とか丁寧な本で補完した。手に取った本の中だと、『対話によるCommon Lisp入門』が一番コンパクトで内容は最低限だけど、前提知識なくても一から説明してくれる感じ。隙あらばダジャレを織り込んでくるのが玉に瑕だけど。

    対話によるCommon Lisp入門 POD版対話によるCommon Lisp入門 POD版
    栗原 正仁

    森北出版
    売り上げランキング : 622423

    Amazonで詳しく見る



    少女:Lispって、普通の本はないの?

    少年:ポール・グレアムの『ANSI Common Lisp』は、人がいうほど癖なかった。これも網羅的とまではいかないけど『対話によるCommon Lisp入門』よりずっとカバーしてくれる範囲は広くて、例として出てくるコードも短くて、入力して試しやすかった。Common Lispには、プログラムのどの部分を実行していて内部で何が起こっているかを逐一表示するっていうのが標準装備(traceとかstep)だから、入力サボったのを反省して、それからは使い倒した。

    ANSI Common Lisp (スタンダードテキスト)ANSI Common Lisp (スタンダードテキスト)
    ポール グレアム,Paul Graham,久野 雅樹,須賀 哲夫

    ピアソンエデュケーション
    売り上げランキング : 386996

    Amazonで詳しく見る



    少年:もう少し早足で進むけど、他にプログラミングの経験がある人なら、『実践Common Lisp』一択かも。Land of Lispと同じくらいのレベルで、ぶっ飛んだところとかマンガはないけど、より丁寧でちゃんと教科書になってる。カバーする範囲も広くて、説明も結構詳しい。ピーター・ノーヴィグの『実用 Common Lisp』は、古いよき時代のAI人工知能(Land of Lisp がレトロゲームなら、こっちはレトロAI)を題材にしていて、Lispを使って未解決の問題に挑むことがどういう感じなのか体験できる本。

    実践Common Lisp実践Common Lisp
    Peter Seibel,佐野匡俊,水丸淳,園城雅之,金子祐介

    オーム社
    売り上げランキング : 395747

    Amazonで詳しく見る

    実用 Common Lisp (IT Architects’Archive CLASSIC MODER)実用 Common Lisp (IT Architects’Archive CLASSIC MODER)
    ピーター・ノーヴィグ,杉本 宣男

    翔泳社
    売り上げランキング : 419190

    Amazonで詳しく見る


    あとScheme手習いScheme修行を算数のドリルみたいに繰り返しやったかな。

    Scheme手習いScheme手習い
    Daniel P. Friedman,Matthias Felleisen,元吉 文男,横山 晶一

    オーム社
    売り上げランキング : 251110

    Amazonで詳しく見る

    Scheme修行Scheme修行
    Daniel P. Friedman and Matthias Felleisen,元吉 文男,横山 晶一

    オーム社
    売り上げランキング : 588128

    Amazonで詳しく見る by AZlink



    ネットではANSI Common Lispの仕様を引けるHyperSpecと、今上げたようなCommon Lispの本(原書)を横断検索できるlispdoc(http://lispdoc.com)が便利。

    http://www.lispworks.com/documentation/HyperSpec/Front/index.htm

    あとコンパクトなSimplified Common Lisp referenceというのがあって、これに出てくる例を全部Ankiに入れて英語の構文みたいに覚えた。

    AnkiLisp1.png






    禁煙さんを訪ねる

    少女:という訳で、一人できました。どうして彼、禁煙さんが苦手なんですか?

    禁煙:そういえば中学に入ったお祝いに、コンピュータをあげようと思ったんだけど、断られちゃったわね。

    少女:なんでまた?

    禁煙:冷却装置に凝った自作機だったんだけど、凝りすぎて水煙管(キセル)みたいになっちゃってね。

    少女:よく分からないけど、なんか分かった気がします。

    禁煙:それで何が聞きたいのかしら?

    少女:どうやったらプログラムを書けるようになるか知りたくて彼に聞いてみたんですけど、聞く相手を間違えたって思いました。

    禁煙:ああ、熊が水を飲むみたいな学び方するからね。

    少女:でも気になったことがあって。禁煙さんが勧めたの、PythonとC言語とLispだって聞いたんですけど、どうしてこの3つだったんですか?

    禁煙:Bookishで自分で調べるのが好きで得意な子だから、ちょっと無茶ぶりしすぎたかもしれないけどね。せっかくプログラミングに触れるのだから、いろんな側面を知ってほしいと思って。

    少女:いろんな側面、ですか?



    巨人の肩に乗るプログラミング

    禁煙:ひとつは、そうね、「既存の解決策を探して組み合わせるプログラミング」って言えるかしら。「巨人の肩に乗る」とまでいうと言い過ぎだけど。

    少女:彼も「コピペ・コーディング」「開発環境はGoogle」みたいなこと言ってました。

    禁煙:もっとも検索のパラドクスというか、分からないものは探せないという問題があるけどね。レベルが低いままだと低いレベルの情報しか手に入らない。検索結果に表示されても理解できなくてスルーしちゃうし、見当違いのキーワードで探してしまう。

    少女:やりたいことができるプログラムの部品を手に入れるのは、やっぱりそれなりに学ばないといけないんですね。

    禁煙:ライブラリを駆使して、短い時間と小さな手間で目的を果たすのは、アプローチっていうより、ごく普通のことになっているわね。世の中で必要とされている大方のプログラムは多分、既存の解決法の組み合わせでなんとかなるものだろうし。誰かが用意してくれているものをうまく使えば、自分だけではとても無理な大規模複雑なこともできるし。仕事で何かつくるときも、時間も人員も限られているならその方が絶対いいし。初心者にとっても、低コストで自分の欲しいものができるって話ならモチベーションも維持しやすいしね。

    少女:それがPythonを勧めた理由ですか?

    禁煙:近頃の人気のあるプログラミング言語は大抵ライブラリを揃ってるから、Python以外でもよかったんだけどね。あの子は今の子にしてはびっくりするくらいBookishだからってこともあるかな。Pythonはドキュメントも良く出来てるし、ソースコードも読みやすいしね。同じ歳でも、他の子になら、もっとヴィジュアルで見目麗しい(bells and whistlesな)ものにしたでしょうね。あとは、初心者にもいいけど、本格的なもの、たとえばあの子が普段使っているようなものだって作れるというのもあったかしら。

    少女:Pythonで作られてるものって?

    禁煙:あの子が使ってるのだと、AnkiとかDropboxとかCalibre(オープンソースの電子書籍管理ツール)とか。

    少女:あ、それ私も使ってます。

    禁煙:初めてだからインデントの習慣を身につけてほしいとか、細かい理由もあった気がするけど。



    大地を掘り下げるプログラミング

    少女:「いろんな側面」というと、あと2つあるんですか?

    禁煙:つぎは「分解と再構成で理解するプログラミング」って感じかしら。身の回りの機械を片っ端から分解してまわったことってない?

    少女:いえ、そういうのは。

    禁煙:ただわくわくするとか面白いから分解するんだけど、あれって機械みたいに複雑なものを理解する原体験ってところがあるの。プログラマのインタビュー集(あとで出てくる『Coders at Work プログラミングの技をめぐる探求』とか)を読むと、やたらと子供の頃、分解したなあって思い出話が出てきたりするんだけど。

    少女:C言語で勧めた『デーモン君のソース探検』って、プログラムの分解本ですか?

    禁煙:お仕着せの部品(ライブラリ)の組み合わせでプログラミングに入門したら、今度はその部品がどんな風にできているか知りたいと思わない? それが分かると既成のライブラリを改造したり、もっと行くと自分でライブラリを作れるところへ進めるかもしれない。自分が使っているソフトで「こうなったらいいな」って改造ができるかもしれない。改造のパッチファイルを作者に送れば、ただ要望出すのと違って、取り入れられる確率は高まるし、お気にい入りのソフト作者とガチでコミュニケーションがとれるかもしれない。

    少女:なんかレベルが上がってる感じがします。でもなんでC言語なんですか?

    禁煙:ひとつは、OSのカーネルから普段使いのアプリケーションまで、いろんなものがC言語で書かれてきたから。Unixやそれに由来するシステムがC言語で書かれてる話はしたかしら。あと、Pythonもそうだけど、C言語以降に登場した多くのプログラミング言語がC言語で書かれてる。ライブラリも、例えばPythonの場合だと、Pythonで書かれたものもあれば、速度や効率の良さからC言語で書かれたものもあるわ。

    少女:もうひとつは?

    禁煙:「C言語=ラテン語」って比喩にはもうひとつ含意があって、C言語が普及したせいで、その後に生まれた言語はC言語の影響を強く受けているものが多いの。ラテン語が分かると、俗ラテン語から生まれたロマンス語派の諸言語(スペイン語,ポルトガル語,イタリア語,フランス語,ルーマニア語等など)が理解しやすくなるように、C言語から影響受けたawk、C++、Objective-C、Java、JavaScript、PerlやPython……を理解しやすくなるかもしれない。もっとも「フランス語を学ぶのにまずラテン語から」っていうのが学習コストからいってナンセンスなように、最初にC言語を学ばないといけないなんてことはないけどね。むしろ最初にプログラミングを学ぶ人にC言語はないわ、って感じに覚えてもらえたらいいかな。

    少女:話を戻すと、お仕着せの部品(ライブラリ)の組み合わせって楽そうに見えたんですけど、そういうのを分解して理解するのって時間もかかるし大変そうですね。

    禁煙:デーモン君も毎回行き詰まって泣いてばかりだったしね。そういう意味では確かに一つレベルアップって感じなのかも。出来合いを並べるだけの《お惣菜》プログラマから、やる気になれば自前でやれる一人前のプログラマになるってことだから。もっとも人が書いたソースコードを読んで(分解して再構成して)理解するというのは、いきなりC言語でやるより、もっと初心者にやさしい言語、彼の場合ならPythonでやった方がずっと易しいから、まずはそちらで経験を積むのがおすすめだけど。

    少女:どうしてですか?

    禁煙:C言語だとプログラマが自分でやらなきゃならないことでも、もっと易しい言語だとプログラミング言語自体が担ってくれる部分が多くて、同じことをやろうとする場合でもプログラムがシンプルかつ短くて済むから。短いプログラムの方が、これはもう圧倒的に、速く読めて理解もしやすい。Pythonには、Nullege(http://nullege.com/)っていうPythonのソースコード専門の検索エンジンもあって、こういうのも彼に勧めた理由なんだけどね。

    http://nullege.com/



    残り1割のためのプログラミング

    少女:じゃあ最後の側面ですけど。それと「Lispやるとアタマがよくなる」っていうのは?

    禁煙:さすがにちょっと引いちゃうね。

    少女:ええ。でも、なんでLispだったんですか?

    禁煙:せっかくだからコンピュータにできる《最果て》を知ってほしいと思って。

    少女:他の言語じゃダメなんですか?

    禁煙:そうね、少し回り道だけど、こんな話をしようか。さっき、プログラミングしなきゃいけない大半のことは、既存の解決策の応用か組み合わせで解決できるし、世の中のほとんどのプログラムはそういうものだって言ったね。

    少女:はい。

    禁煙:ニュージャージ・アプローチなんて言い方があるんだけど、すべての問題に対処しようとすると複雑で大変になってしまうけれど、複雑で大変なのはむしろ少数の例外で9割まではシンプルな手法で間に合うのだから、この9割が解けるシンプルな解決でいいじゃないか、というスタンスで成功したのがUnixやC言語なのね。完全な正しさよりシンプルさを優先するというか。

    少女:実用的というか、実践的な考え方ですね。

    禁煙:ええ。だから、他のものよりは、容易に実装できて、なおかつ世の中の大半を占めるしょぼいマシンでも動いた。だから世界を席巻できたとも言えるんだけど。

    少女:Lispは違うんですか。

    禁煙:UnixやC言語より前の、コンピュータを使うことが、おもいっきり背を伸ばして届くかどうかというところに触れることだった時代の産物というか、プログラミングが既存の手法やシンプルなやり方じゃ間に合わない問題に挑むことだった文化を残している感じがするのね。9割のことが解決できるくらいじゃ満足できなくて、みんなが難問だとして放置した残りは誰が解くんだ?オレだよ!みたいな。そんなギリギリの問題が、ある時代には人工知能だったり、コンピュータ・グラフィックだったりしたんじゃないかしら。

    少女:その時代時代の最先端みたいなところで使われてきたってことですか? どうしてなんでしょう?

    禁煙:取り組む問題はいつも難しくて、プログラミング言語が提供するものでは足りないのがいつものことだったから、自分で一から(アセンブラで)作るか、プログラミング言語を問題に必要なだけ拡張するのは当たり前だったのね。そしてLispは、そういう拡張がやりやすい言語だったの。何しろ、言語の機能をほとんど際限なく、文法構造すら拡張できるぐらい。

    少女:拡張するのと、難問を解くのは、どういう関係があるんですか?

    禁煙:解き方がまだ誰にも分からない難問を前にして手始めにやれることといえば、問題をなんとか書き表すこと、できればその構造を表現すること、それから、それをいじくりながら答えっぽいものに近づける試行錯誤の繰り返すことくらいよね。そうして、一つの例題についてうまく手が見つかったら、それを一般化して他の例題についても解けないかやってみる。Lispは、問題の構造を書き表すのも、それをいじくる試行錯誤も、それを一般化したものも、同じフォーマットで書けたから、今言ったみたいなやり方にうってつけだったの。

    少女:でも、そのうちコンピュータの性能も上がって、これまでの蓄積もあって、コンピュータでできることは広がっていったんじゃないですか?

    禁煙:そうね。コンピュータの歴史が積み重なって、かつての最先端はやがて既存の手法で解けるものになっていったわ。人工知能だって、今どきそんな手探りじゃなくて、確立された手法ごとにライブラリがあるし。それでも、コンピュータで立ち向かう難問が次々生まれてきたし、この先だって今の時点では予想もつかない問題に挑まなくちゃならないかもしれない。そのためには、できるだけ制限のない《何でもあり》の道具が欲しいと願うのも無理ないと思わない? 

    少女:実際になんでもできるプログラミング言語なんて作れないから、だったらどこまでも拡張できる言語って話になるんですね。聞けば聞くほど、既存の解決策の組み合わせですばやくつくるプログラミングの真逆みたいに思えます。

    禁煙:違った経験をしてほしいってところから語り始めたせいもあるけどね。今ではLispにも(流行りの言語ほどじゃないけど)ライブラリ(たとえばここ参照)がそろっているから、既存の解決法の組み合わせを忌避してるわけじゃないし。

    少女:これは聞いていいのか迷うんですけど、Lispってすごそうだけど人気無いんですか?

    禁煙:そうね。理由は偶然を含めて色々あるんだろうけど、Lispに難しいところがあるとしたら、何でもありの拡張性の裏面なんでしょうね。Lispで問題を解くことは、問題に特化した新しい言語をつくるようなものだけど、プログラミング言語を作ることはきっと、プログラミング言語をただ使うことよりはいくらか難しいの。自分以外誰も使わないオレオレ言語であってもね。もちろん、ずっと楽しいことでもあると、言い添えなくちゃいけないでしょうけど。



    (おまけ)様々なプログラミング言語を知る

    少女:オレオレ言語はともかく、他のプログラミング言語のことをもっと知りたいと思ったら、なにかいい本はありますか?

    禁煙:プログラミング言語のはじまりから『ソフトウェアの20世紀―ヒトとコンピュータの対話の歴史』という本があるけど。中村真一郎の『文章読本』みたいに、実際のソースコードつきで、言語の発展にともなってどのような表現に変わって行ったかを示してあって面白い本。当時のコンピュータの状況から世相/時代背景までフォローしてあるわ。この本は20世紀まで扱ってるから、言語で言うと出てくるのはJavaまでだけれど。

    ソフトウェアの20世紀―ヒトとコンピュータの対話の歴史ソフトウェアの20世紀―ヒトとコンピュータの対話の歴史
    長谷川 裕行

    翔泳社
    売り上げランキング : 637687

    Amazonで詳しく見る



    禁煙:それより新しいものも含めて、プログラミング言語を作った本人にインタビューした『言語設計者たちが考えること』は、Rubyのまつもとゆきひろさん以外、みんな他の言語の悪口言ってて楽しめるわ。

    言語設計者たちが考えること (THEORY/IN/PRACTICE)言語設計者たちが考えること (THEORY/IN/PRACTICE)
    Federico Biancuzzi,Shane Warden,伊藤 真浩,頃末 和義,佐藤 嘉一,鈴木 幸敏,村上 雅章

    オライリージャパン
    売り上げランキング : 148283

    Amazonで詳しく見る



    禁煙:全員が言語設計者じゃないけど、JavaScriptやErlangやCommon LispやSchemeやSmalltalkやC言語を作った人たちを含むインタビュー集の『Coders at Work プログラミングの技をめぐる探求』は、これの副読本として読めるかしら。

    Coders at Work プログラミングの技をめぐる探求Coders at Work プログラミングの技をめぐる探求
    Peter Seibel,青木 靖

    オーム社
    売り上げランキング : 226754

    Amazonで詳しく見る



    禁煙:こういう当事者ものじゃなくて、プログラミング言語の発展をもう少し俯瞰的に扱って、新しい概念や特徴がどうして登場してきたかをまとめてくれる『コーディングを支える技術 ~成り立ちから学ぶプログラミング作法』という本も役に立つのじゃないかしら。

    コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)
    西尾 泰和

    技術評論社
    売り上げランキング : 25899

    Amazonで詳しく見る