tech
ハッカーの遺言状──竹内郁雄の徒然苔
第31回:続・辭典の楽しみ
元祖ハッカー、竹内郁雄先生による書き下ろし連載の第31回。今回のお題は「続・辭典の楽しみ」。
ハッカーは、今際の際(いまわのきわ)に何を思うのか──。ハッカーが、ハッカー人生を振り返って思うことは、これからハッカーに少しでも近づこうとする人にとって、貴重な「道しるべ」になるはずです(これまでの連載一覧)。
文:竹内 郁雄
カバー写真: Goto Aki
IT防災・減災の話を2回続けて書いた(「第29回:え、私が防災?」「第30回:大画面による情報共有」)。バランスを取るためには、私本来の性分である「世に災いをもたらす」活動について報告しなければなるまい。ふと見ると、この連載の冒頭に「道しるべ」なる言葉が書いてある。途中、ひねくれて間違った「道しるべ」があってこそ、散歩は楽しい。
遺言状第17回「辭典の楽しみ」の最後のほうで、「bit悪魔の辞典」の翻訳と評釈・注解の仕事について紹介した。そこで2項目だけ紹介したが、今回はさらに7項目を紹介しよう。わずか20年ほどしか経っていないのにいろいろなことが古色蒼然としてしまっているので、現代の読者にも通じるよう、少しだけ加筆修正を行った。とはいえ、本質はまったく変わっていない話題もある。コンピュータ技術は進歩したが、人間はそう簡単には変化しないのである。
◎デバグ(Debug)
プログラムを作ったあと、そのプログラムの仕様がもともと誤っているとか、そんなプログラムを作ること自体がそもそも間違いであるとかいった根元的な過ちを大衆の目から隠蔽するため、最初から故意に仕込んであった小さな虫をイケニエとして殺し、神に奉納するおごそかな儀式。最近の法理論では、故意ではなく未必の故意であるという説が出てきた(※a)。
儀式は玉串の代わりに髪の毛を振り乱し、「チクショー、アホタレ、コノドヘタノ大マヌケ」(※b)といったような古式にのっとった祝詞を絞り出すような声で唸る。その瞬間の眼光の鋭さと際どさを見て心打たれぬ大衆はなく、つい、間違いだらけのソフトウェアを買ってしまうのである。
この儀式を司る資格をもった人間のことを「プログラマ」(※c)と呼ぶ。しかし、最近はもぐり、インチキ、山師、ペテンの類が横行しており、自分が故意に仕込んだ虫のことを忘却し、イケニエの虫を1匹殺す代わりに、新たに数匹の虫を注入するまでに堕落してきた。
なお、虚礼廃止の風潮から、故意に虫を入れることをやめ、デバグ儀式を廃止しようという新生活運動が台頭してきた(代表:江戸川大楠虎氏)が、もともと存在価値・商品価値のないトーイプログラムでしか成功していないため、一般大衆からはそっぽを向かれている。
【評釈・注解】
このような儀式が厳として存在する以上、コンピュータが先だったのか虫が先だったのかの深い哲学的議論が起きよう。原著者がこの項でそこまで踏み込んでいないのが悔まれる。しかし、評釈者の思うところ、虫は「腹の虫」とか「水虫」のように人間に本質的に内在する超越観念論的実在なのである。すなわち、虫の存在に観念した人間が、それを有効に拡散させるように進化論的な努力をしたのである。これがコンピュータ誕生の一番の動機であった。しかし、この議論をこれ以上深めるには余白が足りない。
※a:石塚公男:バグの故意性に関する法理論、法学ジャーナル、1998年5月号。
※b:日本差別用語管理協会使用許諾番号 JS-873508992。
※c:日本差別用語管理協会使用許諾番号 JS-873508993。
◎データベース(Data Base)
料理、たとえば、コダ汁(CODASYL)において味のベース(だし)が重要であるように、データの捏造のためにもデータのベースとその活用法が重要である。これをデータベースと呼ぶ。
データ捏造の構造には大きく分けて次の6種類がある。
[1]階層型:係長、課長、部長と階層が上がるに従い、生の情報が美化される方向に変質すること(ネギの泥が落ちていくとも呼ばれる)を利用した捏造法。ただし、階層を逆に下がってきた場合、社長の指示のニュアンスの厳しさが拡大するという具合に、データ変質に非対称性があるために、最近ではあまり使われない(※a)。
[2]ネットワーク型:ネットワーク(回線網)を通してタライ回ししているうちに、回線エラーによってデータを変質させるという捏造法。電子伝言ゲームの実務的応用である。しかし最近、回線の信頼性が向上したため、十分なデータ捏造が得られるまでのコストがかかりすぎて敬遠されている。
[3]関係型:これは本来、無関係型と呼ぶのが正しい。関係スキーマにより無関係と判定されたデータを次々に元のデータに結合(ジョイン)する。その結果を適当に抜き取れば(プロジェクションとセレクション)、所望のデータ捏造が完了する。この方法は、データ捏造の効果が高く、理論基盤もしっかりしているので素人をだましやすい。専用マシンの研究すら行われた。
[4]オブジェクト指向:関係型では情報隠蔽が完全でなく、捏造がばれることが往々にしてある。そこで注目されたのが、オブジェクト指向データベースである。これによると捏造のメカニズムがオブジェクトの内部にカプセル化されるため、より安全な捏造が可能となる。
[5]分散型:あまり大規模かつ集中的にデータ捏造を行うと当局の目をごまかしにくいため、分散型のデータ捏造の研究が密かに行われている。
[6]データフロー型:1980〜90年代にハードウェアアーキテクチャの研究が先行したデータフローの概念は、今日のデータベースには欠かせない概念になってきた。どの企業も顧客データを外に流すことが、善悪を問わず、マスコミで名前が取り上げられるための早道となっている。しかし、本来の捏造のプロセスが欠け、生の情報がそのまま流出するため、データベース技術として見るべきところはない。
【評釈・注解】
誰にもばれないデータ捏造は古くからの人間の夢であった。ノーベル賞受賞者級ともなるとまことにシミひとつない見事な捏造を行うが、我々のような凡人にはコンピュータの助けを借りないととても無理であろう。耐震データ捏造や燃費データ捏造は、ゼネコンや自動車業界のITの遅れもあって捏造技術が未熟だったため露見したと思われる。また、いろいろな出版社や学会から出ているコンピュータ関係の辞典は、見るとすぐ捏造と分かるだらしなさである。こういう辞典が本辞典のレベルに達するまでには、データベース研究者の不断の努力が必要である。
※a:最近では、ADSLのように上り下りで速度差のある情報伝送が広く大衆に受け入れられている。大衆文化が純正計算機科学文化と時差をもちながら準同期退化していく現象は科学史的に興味深い。
◎スーパーコンピュータ(Supercomputer)
1. 「あっ、あれはなんだ? 冷蔵庫だ。電熱器だ。いやスーパーコンピュータだ」という出だしで一躍有名になった空想物語。もっとも、この物語は「バットマン」に酷似していたため、人気はすぐ下火になった。ここに出てくるスーパーコンピュータは、普段は新聞記者のように、無意味な情報を入力して無意味な情報を出力するだけのただのコンピュータだが、ひとたび核融合のプラズマシミュレーションなどの計算に遭遇すると、核融合以上のエネルギーを消費する大変な力持ちとなる。
また、巨大なエネルギーを消費するとき自分自身の冷却を一生懸命行うので、その周囲には快い暖かさを漂わせる。クレイ・ケントという名のスーパーコンピュータは椅子の形をしており(写真1)、疲れたプログラマに休息の場を与えてくれる優しさである(参考、写真2)。
2. スーパーマーケットで使われているコンピュータのこと。キャッシュ・レジスタの概念をいち早く採り入れて処理の高速化を図ったことはあまりにも有名である。昔は機械式だったが、現在はほとんどが純電子式である(※a)。当然、複数台の同時動作による高度並列計算システムになっている。
最近よく見られるようになったペクトルプロセッサなどに比べて、スーパーのコンピュータが圧倒的に優れているのは、知的データフロー概念が採り入れられていることである。すなわち、プロセッサを通過するデータ(トークン)が、どのプロセッサに行けばよいか、プロセッサの負荷(前の人のカゴの中身の量など)を見て、自分自身で判断する。この結果、単に受動的なトークンが流れるだけの従来型データフローコンピュータを凌駕する高いスループットが得られる。しかも、通るデータに対して、「ありがとうございました」という感謝が表明される。現在のコンピュータではいまだにこれが実現されていない。さらに、全体の負荷が少ないときは、部分的にプロセッサを休ませて、省エネルギー化をしている。
【評釈・注解】
巷間ではベクトル化プロセッサのことをスパコンと呼んでいるが、スパコンと、ここで示されている本来のスーパーコンピュータとが混同されることがあってはならない。しかし、スーパー301条が制定されたため、日本政府は高価なスパコンではなく、スーパーの安価なコンピュータをスーパー301条の対象コンピュータにすり替えようとしている。この事例が示すように、この項は、スーパーという言葉が常に政治的な危険をはらむものであることを暗黙のうちに訴えている。PTTではどんな交渉が行われたのだろうか? 不透明感が漂う。
※a:原著が書かれたあとも急速な進歩をしており、最近はPOSIX(POS IndeX system)に標準化されつつある。
◎ アルゴリズム
1. Algolism[英、哲学用語]1960年代初頭に起こったプログラム修辞学。当時、プログラミングはFortranの出現により完成の域に達しており、文化的な爛熟期にさしかかっていた。このようなときに、一部のディレッタントが枝葉末節の形式を偏重するプログラミングの流儀を生み出したのは歴史の必然であった。彼らの代表作、Algol 60は、必要にして十分だったFortranの64種類の文字に加え、ゴチック、イタリック、小文字、豊富な特殊記号などを氾濫させた世紀末的退廃の作品である。しかし、退廃はこれにとどまらず、次のバージョンであるAlgol 68ではプログラミングを好事家にしか通じない衒学に貶めてしまった。その後、多少の反省が起こり、人気哲学者Pascalをかつぎだしたまでは良かったが(※a)、最近、美人女優Adaまでかつぎだして(※b)色仕掛けになってきたのは、新たな世紀末的退廃思潮と指弾されるべきだろう。
2. Argorythm[仏、音楽用語]一般には定冠詞がつけられてL'argorythm(ラルゴ・リズム)として使われる。非常に遅いテンポのこと、転じて、コンピュータの世界では、プログラマが少しだけ考えて作った、エラーは少ないがとても遅いプログラムのことを指す。このようなプログラムを作る技法は、和製法(外国製のプログラムをあたかも日本製のように見せかけてコピーすること、あるいは外国製のプログラムに日本語の機能をつけ足すこと)とともに作曲における重要な基本技法となっている。
【評釈・注解】
この項はさすが原著者、日本人には及ばぬ深い言語教養を示している。現在世の中では「Program = Algol + Ada Structure」が最もよく知られているが、「Program = Algorism + Data Stranger」とか「Program = Logic + Kowalski」なども知られている。もっとも、後者はJohn McCarthyの移項により、「Program - Logic = Kowalski」と喝破された(編集部註:Kowalskiは論理プログラミングの強力な主唱者。それに対してMcCarthyは独自の立場から異議を唱えていた)。
原著者のケアレスミスと思われるが、この項では、重要な作曲(作り曲げ)技法である輪唱すなわちカノンへの言及が抜けている。これは米国を主とする外国製のソフトの発表から正確に一定の期間をおいて同じものを日本で発表するテクニックである。対位法に比べて低級な技術であるが、シロウトでもある程度の効果が上がるので、日本では愛用されている。
※a:かつぎだしたのは、「Program = Algol + Ada Structure」という本を書いてボロ儲けしたWirthである。
※b:かつぎだしたのはADAと字形的双対関係にあるDOD(米国某省)である(図1)。
◎オーエス(OS)
1. 多数の人間やプロセスが同期をとって仕事を進めるための掛け声。代表的なのは運動会の綱引き。「オーエス」の同期がまずいと力が分散して敗因となる(※a)。しかし、紅白両陣営とも完全に同期がとれると、綱が動かずデッドロック状態に入る。いにしえのタイムシェアリングシステムで、ユーザが全員夜型の人間だった場合にこれがよく起こった。ただし、このようなときはデッドロックとはならず、「しょうがないないな、今晩もコンピュータは馬鹿混みだ」と、オンザロックとなるのが通例だった。また、今はなくなった有楽町日劇ダンシングチームによる有名なラインダンスの掛け声も「オーエス」だった。あれだけ多数の大根足が一斉に上下する同期の見事さは筆舌に尽くしがたい、いや、かぶりつきにつくしかないと言われている。
2. コンピュータの性能向上を相殺し、1台当りの処理能力を下げ、かつ必要メモリ量やディスク量を増やす。その結果、コンピュータの売り上げ台数を伸ばす。このような目的で、コンピュータ内部の資源(CPU時間、メモリなど)をそれと分からぬように浪費する大量のプログラム群。米国の某大メーカーの創意工夫によるものだが、発明者が日本の運動会の綱引きを見てヒントを得たというのが業界の常識になっている。システムプログラムとユーザプログラムが渾身の力を振り絞ってかつ、全体として綱が少ししか動かない、つまりほとんどアウトプットがないという恐るべき内部エネルギーの消耗に某大メーカーとしての生き残りの方策を思いついた技術的先見の明は、今日なお某社を不動の優位から守っている(しかし、徐々に別の某社にお株を奪われている)。面白いことに、コンピュータを職業とする人間はこの変則的事態に気付いておらず、むしろ街を歩く普通の人がOSについてはいかがわしい印象をもっている。これはよく「淫テル486号室」、「私Cが好き」、「Xの裏窓」といった三本立を上映しているOS劇場チェーンのせいもあろう。
【評釈・注解】
思わず生唾が出るような豪華な音響イメージに満ちた項である。運動会で若い娘たちが無邪気にあげる「オーエス!」の声が、日劇ダンシングチームの華麗な「オーエス!」の歓声に自然に移行したあとは、「淫テル486号室」の「オー、イエス!」へ美しく淫らに昇華していく。まことに見事な昂りを見せる音響処理である。最後は「せいもあろう」と、「性もあろう」であることをほのめかしつつ締めくくる。まことにぐっと来るものがある。情報処理はすべからくこうありたいものだ。
※a:分散OSというのは、この意味で自己矛盾した概念である。米国ですでにいくつかの分散OSプロジェクトが潰れたが、集中OSに綱引きで勝てるわけがないのだからこれは当然である。
◎オンライン(Online)
球技においてボールが境界線のちょうど上にある際どい状態をいう。転じて、コンピュータの分野では信頼性の低いハードウェアやソフトウェアにネットワーク経由で端末をつないで実時間で使っているという、本来ちゃんと動くはずのない際どい状態を表す。
コンピュータがオンラインであるかどうかの判定は、バレーボールやテニスなどと同様、微妙で難しい。たとえば、コマンドを打ち込んですぐに反応がない場合、一概にオフライン(オンラインの反対語)とは断定できない。単にコンピュータが遅いとか、バグがあるという場合が大半だからである。また、全二重回線(※a)の使用に慣れている人は、STX、ETX(※b)などというキーの存在を知らないので、オフラインという厳しい判定を下しがちである。
「オンライン」は接頭辞的な使われ方をされることが多い。たとえば、以下の通り。
[1]オンライン・サービス:ライン上に落下するサーブを打つことから転じて、お客さんの迷惑を考えない悪質な、ネット越えのサービスを指すようになった。
[2]オンライン・デバグ:思考の節約手段。一般にパブロフ・デバッグとも呼ばれる。しかし、非常に厳しい環境では、刑務所の塀の上を歩いているようなスリルを味わうことができる。このスリル感が病み付きになり、紙上デバッグをまったくやらないプログラマもいる。
[3]オンライン・ドキュメント:従来、2000円ほどのマニュアル本を買えば済んだのに、何万円もするPCを買わないと見られなくなるというドキュメント。オンライン・デバグの補助手段でもある。常に端末に向かわざるを得ないので、端末に向かっていることだけで勤務評定をしている上司からの受けが良くなる。
[4]オンライン・バンキング:銀行の窓口の女性の質と量を落とすための方便。
【評釈・注解】
オンラインとは、線の上に乗っている、すなわち綱渡りから来ている。このような危険を伴うものなのに、一般市民がキャッシュカードなどをあまり不安もなく使っている日本は平和な国である。この項はそのような風潮に一撃を加えるものである。
オンライン・サービスはあなたのためにあるのではない。あなたを脅かそうとする邪悪な意思の現われなのである。オンライン・バンキングになってから、あなたは銀行の窓口の女性と話をしたことがあるだろうか? 窓口の女性と親しく話すことが法律に抵触しないにもかかわらず、そしてそれがあなたにとって女性と話す数少ないチャンスであるにもかかわらず、あなたは無意識のうちにそれをやめていなかっただろうか?
この項はそんなあなたの日常に深い反省を迫っているのだ。
※a:通信の行きと帰りを同時に流すことのできる回線。今は当り前だが、昔は半二重回線というのもあった。
※b:それぞれ、Start of TeXt、End of TeXtの略。
◎捜査手引書(Operation Manual)
本項を理解するためには次の文献を理解しておく必要があります。
[1]本辞典「マニュアル」の項。
[2]小学校5年「国語」上、下 学校図書、1985。
[3]麗野本吾「正しい捜査手引書の読み方」、日本コンピュータ教会、1979。
以上の予備知識のもとに本項では犯人捜査法の詳細について、明解かつ精緻に詳述することにします。
真っ先に行うべきことは犯人を発見することです。犯人を発見したあとは、次の手順に従って犯人を逮捕します。
(イ)犯人が右へ動いた場合。犯人が右へ移動したところの距離と等しい長さの距離だけ同じ方向に迅速に移動する必要があります。このとき犯人が犯人から向かって右の方向に移動した場合と犯人を見ている側から見て右の方向に移動した場合では、逮捕者の実際の移動方向が逆転されなければなりません。
(ロ)犯人がイの場合と反対の方向へ動いた場合。この場合はイの方法は使えません。しかし、この場合は、犯人から向かって見た方向と、犯人を見ている側から見た方向のどちらもがイの場合とちょうど逆の関係にあるので、イのところで犯人とあるところを逮捕者と読み替えれば正しい方法を得られます。
(ハ)イ、ロのどちらにも該当しない場合、システムのバグの可能性があります。ただちに犯人を逮捕して、弊社捜査手引書サービスセンターへ報告して下さい。報告には専用の書式(注文番号AH-400-81)をご使用下さい。なお、犯人が大きなガラスや鏡に映っている場合には、捜査手引書反射状況版(注文番号AN-2052-85)を参照して下さい。
【評釈・注解】
捜査手引書を分かりやすく書くことは至難の業である。この項は分かりやすい捜査手引書の模範となるべく書かれたものである。手引書たるもの、まず必要な予備知識を明らかにしておく必要がある。その点、原著者に抜かりはない。しかし、一部手に入りにくい文献が入っているのは日本人でない以上やむを得ない。
捜査の具体的な手続きは論理的にきわめて明解に書かれており、ここに疑問の余地はないであろう。犯人が鏡に映っているような特殊で例外的な場合をいちいち細かに記述しないところは手引書の簡潔性を維持するためにも有効である。しかも、必要な追加手引書の注文番号をきちんと書いておくところなど、抜かりはない。
正確性を期すため、直訳調になってしまい、少し読みにくかったかもしれないが、日本のコンピュータ関連のマニュアルがこのように明解に書かれていればユーザはどんなに幸せだっただろうか。
夜も更けた。まだまだきりがないが、これにて今回の災いを閉じよう。(つづく)
竹内先生への質問や相談を広く受け付けますので、編集部、または担当編集の風穴まで、お気軽にお寄せください。(編集部)
SNSシェア