これだから、梅田モチヲッチングはやめられない。

My Life Between Silicon Valley and Japan - 「グーグルをどう語るか」を巡って
もう少し言えば、こうした末端で起きている不幸な出来事(当事者である一ユーザにとっては大事件)も、億単位のユーザを相手に一本のシステムで全部を完璧に処理しようという長期的ゴールの実現を企図するグーグル開発陣にとっては、「例外処理」という位置づけにしかならない、ということなのである。

お見事。そしてこの例外処理の四文字にGoogle、というより「あちら側」と「こちら側」の接点がある。

実は、この「例外処理」こそが、プロとアマの違いなのだ。極論してしまえば、もうそれしかない、残っていない。

オープンソースプロジェクトで開発された成果物に対して、もはやオープンソースだからといって品質が低いという声はほぼ声を潜めた。それどころかプロ中のプロがそれを材料にしてプロによるサイト、プロによるサービスをどんどん立ち上げている。

我々は、やっと理解したのである。オープンソースが提供しないもの、それが例外処理であることを。そしてそのオープンソースがなしていないものを実装することこそが、プロとして振る舞うことなのだということを。

もちろん、およそオープンソースコードでも、例外用のAPIが用意されている。例外をどう発生させるのか(多くの言語はthrowだが、Perl5の場合はeval{ die ...})、発生した例外を処理する部分はどう宣言するのか(多くの言語はcatchだが、Perl5の場合はif($@){ ... })。しかし、この...の中身はあなたが書かなければならないのだ。そして、そこで起った問題の責任は、モジュールメンテナではなくあなたにある。

責任とは、想定されなかった事態が発生した時に誰が始末をつけるのかということなのだ。そしてそれを負う代わりに代金を頂くというのが、プロなのである。

その観点から見ると、Googleというのはあの巨大な時価総額に関わらず、プロになり切れていない会社である。それが最も表れているのが、この exception handler の実装だ。

"Do no evil"という彼らの corporate slogan は今やあまりに有名だが、彼らはそれを「なるべくコードで実装」すると「あちら側」の世界に語りかけながら、「こちら側」の世界に対しては、「例外は、Class A Stockの保有者が処理する」と宣言している。

普通の会社なら、生身の人間の痛みみたいなものを、生身の人間が相手して、何とか個別処理をしようと考えるが、グーグルは個別処理を嫌う

例外は、何も苦いものだけではない。ほとんどは苦いものであり、それゆえ代価を請求できるのであるが、時に甘い例外も発生する。IPOによるキャピタルゲインだとか、テレビ出演による知名度の向上だとか(私が苦手な甘さだ)。地検特捜部も例外なら、バブルだって例外なのだ。このGoogleの例外処理の二重性は、「甘い例外はぼくたち、苦い例外はきみたち」という風にしか私には聞こえないのだが、私の耳がおかしいのだろうか。

たけくまメモ: 梅田望夫さんのブログで
要するに、同じようなトラブルに対して、個人と企業相手では違う対応をしているのではないか? という疑念が、どうしても私には拭えないわけです。

という対応も、見事にこの「例外処理の分岐」によって説明がつくではないか。

むしろその逆、すなわち「甘い例外はきみたち、苦い例外はぼくたち」であれば、Googleはその技術力の高さに相応しい尊敬を集めていただろう。Googleに対して一番厳しい目を向けているのは、例外処理が何たるかを最も知っている人たちなのだということを、彼らは知っているのだろうか。

My Life Between Silicon Valley and Japan - 「グーグルをどう語るか」を巡って
開発陣によって問題点は完全に把握されているが、開発陣の関心は、こうした「例外」が少しでも起こらないようシステムを改善する(新しい要素を取り入れつつ数学の問題を解き続けるみたいな感覚)、という方向にしか向かない。

だからGoogleは甘ちゃんなのである。例外は沈静化(neutralize)や最小化(minimize)は出来ても、消滅化(annihilate)は出来ない。だから、Google、というより「梅田望夫が思い描くGoogleがそうなるかも知れないシステム」がやらなければならないのは、システムに例外が起らないようにすることではなくシステム自身に例外を処理させるようにすることなのだ。そう、甘ちゃんではなくはまちちゃんに例外処理をまかせるべきなのだ....ちょっと違うか(苦笑)

その観点から見ると、例えばPerl Communityあたりと比較してGoogleのシステムというのは、「神」、すなわちClass A Stock Holderという弱みを抱えている。神々自身で例外を処理しているうちは大した神ではない。本当にすごい神はその被造物に例外を処理させるのである。そして、いつかは神自身がシステムに処理されるのさえ厭わない。

少なくとも、Jobsはそれをやってのけた。そして彼が作ったシステムは、システム自身がどうしても処理を出来ない問題を抱えた時、彼を再び呼び寄せるという判断をした。あとはご存知の通りだ。もちろん、彼が作ったシステムは、「ウェットウェア」(wetware)、すなわち人間が素子として欠かせないものではあったけれども。

だから、私が本当にGoogleに対して帽子を脱ぐのは、Googleがその取締役会そのものをシステム化、しかもウェットウェア抜きの、ハードウェア(hardware)とソフトウェア(software)だけからなる「ドライ」(dry)化を果たした時である。もしそのシステム自身にBrinとPageが逝ってよしと言われたら、その時は私が彼らにビールをおごらせてもらおう。もっともそれまでGoogle自身と私に寿命が残っていたらのお話だが。

Dan the Wetware