1の死と0のつぶやき

金子勇さんが亡くなられた。
アクセスアップの便乗のような形で書くのは本意ではないので、少し時間が経った今、この記事を投稿する。


金子勇さんについて書こうと思っても、俺は直接面識が無いのであまり存じ上げない。
彼のWebサイトに辿り着き、
http://homepage1.nifty.com/kaneko/index.htm
そこで当時珍しかったAnimeBodyという作品を見て驚いた、という程度しか記憶にない。
http://homepage1.nifty.com/kaneko/anibody.htm


AnimeBodyも含め、彼の書き込みや作品を見て、漠然とこんな事を思っていた程度だ。
こういうプログラマーが本当の天才なのだろう。
俺は凡才の中ではよく出来る程度なのだろう。

1の死

金子さんの死というものは、日本のIT業界において途方も無く大きいものだと思う。
もう俺もITというかSE業界に関わって10年以上になるけど、それでわかったのは変革を起こすほどのものが作れる人は本当に一部だってこと。
プログラム単体で世界を変えられるような人間はほとんどいない。


金子さんは、プログラム単体で世界を変えられる数少ないプログラマーだった。
俺なども、例えば業務系SI屋に入るなりすればそれなりにやれる。
ただ、俺レベルのプログラマと金子さんレベルのプログラマの間では、明確な、決して乗り越えられない壁がある。


金子さんが10で俺が2なのではなく、金子さんは1で、俺は0なのだ。


有象無象が100万人集まったところで、彼一人が生み出すものは彼だけが作れるものであり、100万人の英知を結集したとしても作れない。
0はいくらかけても0に過ぎず、決して1には届かない。


日本のIT業界は、数少ない1の人間を失った。
だからこの死は大きい。

0の自覚

ちょっと前に、こんな記事が話題になっていた。
エンジニアが作るネットサービスのアイデアがしょぼいワケ
http://engineer.typemag.jp/article/fshin16


この記事は大変いい指摘で、俺もほぼ同意している。
だがGoogleSkypeもそれこそWinnyも、エンジニアの技術的発想ありきで作られたサービス。
決してエンジニアが技術だけで作るサービスが、すべてしょぼいというわけではない。


ではそこの境は何かと言えば、先ほどの記事で語られるエンジニアの技術が世界を驚かせるレベルのものではなく、普遍的なものであるということ。
GoogleSkypeWinnyは、そのレベルが飛びぬけており普遍的ではなかったということ。
多分ただそれだけなのだ。


普遍的ではない技術を持つプログラマは1であり、いつまでも凡庸な技術をやりくりしているプログラマは0だ。
0の人間が0の範囲でサービスを考えればしょぼくなるのも無理はない。
使われている技術すら一般的なものなのに、技術の利用法や実現可能性や工数に縛られる。
なまじ頭がよく経験豊富なエンジニアであればあるほどそうなるだろう。


俺自身もそういう0側の人間であることは、かなり前に自覚している。


それこそ14歳くらいの頃、Visual Basic 2.0で一所懸命ゲームを作っていた頃には、すでに自覚していたように思う。
頭の中では自作ファイアーエムブレムが綺麗に動いているはずなのに、画面上ではいつまで経っても味気ないラベルとボタンと、もっさりした動きの画像しか表示されていなかった。


この頃の絶望感は、絵を描いていた頃に似ている。
俺はとにかく絵が好きで好きで、学校の教科書の余白はすべて棒人間の漫画で埋まっていた。
だが俺がどれだけ描いてもうまく描けないのとは対照的に、同級生や兄の描く絵の上手い事。
これを才能と呼ぶのだと、わかりやすく俺に教えてくれた最初の人生の師は絵だった。


絵の才は無い、というのは比較的わかりやすい結果として出てくる。
プログラムの才が無い、ということを理解するのは難しい。
難しいが、漠然とながら多分14歳の頃、上手く動かない画面の中を見ながら、俺はその事を自覚していた。

0として伸びる

紆余曲折もあったが俺も小学校の頃に将来の夢として描いたプログラマーになり、それなりの成果を出してきた。


はじめてのプロジェクトでリーダーをやり、自分で考えたレンタルサーバ事業を立ち上げようと一人でLinuxを勉強し、仕事をとってこいといわれればとってきて他の人間にも仕事を与えたり、ベトナムに会社作ってCTOをやったりもした。


そういう過程でいろいろな事を学んできたけど、ここで得た経験はすべて0側の人間が得られるものでしかなかった。
すでに出ている技術を学習し、それらを上手に組み合わせたサービスを考案し、人やタスクを整理しプロジェクトを回し、顧客と交渉し社員と相談して利益を会社に還元する。
なんら目新しいことはない、凡庸な仕事だ。


例えば俺が仕事で実際に使ったことがある言語は、C, C++, Objective C, C#, Ruby, Perl, PHP, Python, Basic, Pascal, JavaScript, Java、、、といった具合にHTMLやSQLなどを入れなくても10は超える。
使用したライブラリやら管理可能なサーバサービスなど、利用可能な技術を数えれば100を軽く超える。
プログラミングの勉強のために費やした時間も10,000時間ではとてもきかない。


だがそれらは、所詮凡庸な技術の積み重ねでしかない。
いくら研鑽を重ねたところで、0が0の中で努力をしているだけで、いつまで経っても1には届かない。


プログラミングをはじめてから20年、IT業界に入ってから10年以上を費やし伸びた自信もある。
だが伸びて伸びて辿り着いた場所から見える景色は、所詮0が0でしかないことを教えてくれるだけだった。

0の矜持

そんな俺も、遅まきながら30を超えてから1になろうと足掻きだした。


俺は金子さんではない。プログラムで世界を変えることは出来まい。
鳥山明でもないから絵で世界を変えることも出来まい。
では、何をもって己のみしか作れぬ1を手にするのか。


0には0の矜持がある。
0しか持ち得ぬ人間故の矜持がある。


俺は0しか持たない。
だがこの0とその0とあの0を持ち合わせるのは、俺しか持たぬ俺だけの0の組み合わせだ。
数多の1の人間達すら持ちえぬ俺だけの0。
単体同士いくら掛けても0だとしても、組み合わせることで比肩するものが無いのであれば、それは1と呼べるものになりえるだろう。


0の矜持が作り上げた1の剣を見せてやろう。

あの世の1へ

・・と思って努力してるけど、なかなか剣が出来上がらないっす(笑)
未だ裸の0のままですわ。
こう、剣を作ろうと鉄くず捏ね上げて、これやっぱ違うわって壊してるのを繰り返してる感じです。


金子さんへ。
死は悲しく不条理だけど、1が1たる所以を教えてくれた存在とコードは残り続けます。
心残りはあるかもしれませんが、残された1の人間達と、数多の0の人間達の足掻きを、あの世で眺めていてください。