/ «2009-01-16 (Fri) ^ 2009-02-01 (Sun)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2009-01-31 (Sat)

ORがわからない

情報処理の教科書において、最初に登場する論理回路。中でも NOT, AND, OR は基本ゲート回路として当たり前のように、さらりと解説されていきます。さらりと。

「わからない=恥」とされる日本社会では、生徒の誰もが疑問の声を上げないままに授業は進みますが、なかにはエジソン少年やアインシュタイン少年のように勇気ある生徒もいることでしょう。

 先生、OR 回路がよくわかりません。
 日本語で「晴れ または 曇り」といえば、「晴れ」もしくは「曇り」、どちらかが真でしょう。
 でも、この教科書に書いてある OR 回路では「晴れ かつ 曇り」も真となってしまいます。
 これって論理的におかしいんじゃないですか?
 この論理表を OR と呼ぶのは間違っていると思います。
 「晴れ または 曇り」という論理命題にピッタリ合うのは、むしろ次に出てくる XOR だと思うんですが?

Ones and Zeros この生徒さん(B君)の質問に対して、果たして先生はどう答えれば良いのでしょうか。先生が答えに窮したとして、代わりに彼の疑問を解いてくれる教科書は果たして存在するのでしょうか?残念ながら、本屋に並べられている書籍のほとんどは、彼の「わからない」に答えることができません。

B君の疑問は、極めて真っ当なものであり、その指摘も鋭く、正しい。彼の質問に答えるためには、Bool 代数の歴史を解説する必要があるのですが、教科書の著者・編集者達は知ってか知らずか、歴史をないがしろにし、結果だけを記載しています。古人の求めしところを求めず、古人の跡のみを求めている訳です。本能的に先人の軌跡をたどろうとする生徒が、COPY&PASTEされた教科書の内容に首をかしげ、やがて投げ出してしまうのは当然の反応と言えるでしょう。

専門書を書き上げる際、テーマそのものを解説することは比較的たやすいのですが、最も手間暇がかかるのは、実はこの「歴史」なのです。資料探しに、莫大な時間と執念、そして経費がかかるからです。いかなる分野の専門書であれ、丁寧に調べ上げられた歴史解説と充実した参考文献をもった書籍は、本物と考えて間違いありません。

ちなみに、私が教師であればB君には John R. Gregg による名著 "Ones and Zeros" を手渡して次のように説明するでしょう。

 この本の第一章 "The Basic Function of Boolean Algebra: AND, OR, NOT" を読めば、
 君の直感が正しいことがわかる。
 読み終わった後に、図書館で様々な教科書の AND, OR, NOT のページと読み比べてみると良い。
 世の中の教科書に致命的に欠けているものが見えてくるだろう。

OR, XOR 問題に限らず、私自身の人生もこれまで「本を読んでもわからない」の連続でした。しかし、私を本当の意味で混乱させたのは「どうやら、世の中の人はこれらの本でわかっているらしい」ということ。自分が読んでもチンプンカンプンの本が、ベストセラーとして売れまくっているという事実。

 なんで、こんな本でわかるのよ?
 ワシは全然わからんよ・・

GCCプログラミング工房は、私のこのような「わからん」状態から誕生しました。仮想読者は、わからない自分自身。世の中の書籍やインターネット上の資料ではチンプンカンプンの自分を納得させるために、せっせと調べ書き貯めた原稿を編集部に投稿したことが発端ですが、蓋を開けて見ると、人気連載に成長し、ゲームボーイ本まで出版。

 自分のわからないは、どうやら正しかったらしい。

と、少し安堵。しかし、まだ心のどこかで「これほど本を読んでもわからん自分の頭は、やっぱりおかしいんじゃないか?」と、もう一人の自分が語る。

凄腕テクニカルライター 橋本治氏

そんなある日、高校時代の古典の授業中、鮮烈なイメージと共に頭に刻み付いた一節

月のいと明きに、川を渡れば、牛のあゆむままに、水晶などのわれたるやうに、水の散りたるこそをかしけれ

橋本治の手トリ足トリ がよぎり、無性に枕草子を読み直したくなったのであります。早速、大人買いで様々な現代語訳を取りそろえ、読み比べ。この中にあった、橋本治氏の「桃尻語訳 枕草子」を読んで、ぶっ飛ぶことしきり。興味を持つと止まらないのが私の性で、著者について調べていくと、なんとこの方、過去にセーターの編み物解説書まで出版しているらしい(1983年 河出書房新社)。題して、「男の編み物 橋本治の手トリ足トリ」。かってない語り口による本書は発刊当時「わかりやすい」と大評判になり、編み物出版界に水爆級の衝撃を与えたのだとか。「なんで、こういう本が我々に書けなかったのか?」と。

幸い、サイン入りの同書が古書店に見つかったので入手(少々値は張りましたが)。私は編み物は全く分かりませんが、なるほど分かりやすい図解満載で、文章も奮っている。

セーターというものはどんなもんでしょうか?編んだことはなくたって、セーターのなんたるかぐらいはあんた知ってるでしょう?まずそっから、まいりましょう。理屈というのは、原点をおさえるところから始まるわけですからな。

セーターとは、まず、何本かの糸によってできております。次に、セーターとは、一本の糸が編み棒という補助具によって、一つの面にかえられていった結果として存在しております。一本の糸をコネコネと編んでいくと、それがやがて面となり、その面がつなぎあわされると、アーラ不思議、セーターになっているというものであります。

以上でセーターの構造分析を終わります。次、セーターの質的特徴の説明にまいります。

セーターの最大の特徴はなにか?これはもちろん、伸び縮みするということであります。セーターはこれにつきます。伸びたり縮んだりするもんだから、少しぐらいいい加減に作ったって、欠陥が露わにならない。テキトーであってもデカイ面できるのがセーターというものであります。

「将来隠居したら、この本でセーター編みを勉強しよう」と心に決めましたが、驚くべきはその内容。橋本治という作家は、実はとてつもなく優秀なテクニカルライターなのだと、私は直感しました。