2015-08-28
■光速の貴公子 
私ももうトシなんで、若い奴らを偉そうにキョーイクしてるというか、まあ実際にはキョーイクしてるというよりも懇願してるんだけど、そんなヤング連中に「あれやってみな」「これやってみな」とお題を出すとものすげースピードでこなして驚いてる。
私もやる方ですよ。実際は。
けど、若い連中はもっとやる。
すげースピードでやる。
WNNの連載の方にも書いたけど、僕が学生の頃だったら、最初からデキるとすら思わないようなものをド文系の素人が若さに任せてあっという間にやってしまう。
若いやつの方が僕より賢いとか、そういう話でもない。
今の開発環境は、僕がDOS/VにPS1の開発機材ぶっ刺して16しかないIRQをやりくりして日本のゲームメーカーなのに英語で書かれたリファレンスマニュアル(SDKは英国のPsygnosysが作ってた)以外に資料が皆無という状況で、三角形一つ出すのにまるまる一ヶ月かかる、というようなものとは根本的に違う。
学生の時代の僕は「七面倒臭い手順をすっ飛ばす魔法の一行」を作るのが特技で、ほとんど頭を使っていないDirect3ZというDirectX初期化ライブラリ(おどろくべきことにこのライブラリは初期化しかしない)で荒稼ぎしてた。
僕にとってこの初期化ライブラリの画期的なところは、僕が初期化の手順をまったく理解しないまま完全なるコピー&ペーストで完成し、初期化について考えたくない数多くのプログラマーに使ってもらえたということだ。
僕がここで学んだのは、「ブラックボックスはブラックボックスのままでもどうでもいい」ということと、「ソースを公開しておくと数多くの責任から逃れることができる」ということ。
実際、あれを直せとかここを直せとかいう要望はソースコードのパッチ付きで送られてきたから、僕は動作確認をしてマージするだけでよかった。今風に言えばPull Requestだね。
しかしそんな頭スッカラカン状態で作ったライブラリが流行ったことで結局Mircosoftで働くことになったいきさつは「プログラミングバカ一代」に書いた。
僕を毎日のように驚かせる、ヤング連中もおそらく本当には解ってないだろうと思う。
しかし彼らにとっては、どうでもいいのだ。
スキャンコンバージョンもブレゼンハム法も知らなくても三角形は書ける。
勝手にパースペクティブがコレクトされて、あろうことかアイソトロピックフィルタリングも一瞬でかけられる。ミップマップさえも。スイッチオン、それだけだ。離散コサイン変換もスライド辞書法も知らなくてもJPEGやPNGやGIFを扱える。
人類の叡智とは、このようにブラックボックスをブラックボックスでくるむという方法の積み重ねなのである。
1+1が2であり、1+9=10であるという考え方が生まれるまで、人類開闢から1万年くらいはかかったはずだ。今は幼稚園児でも1+9を10と認識できる。これこそが叡智なのだ。
学生の頃から考えると開発環境は爆発的に進歩した。
そして何よりインターネットと検索エンジンがある。
だからヤング達は自分が「やりたいこと」を見つければ、最短最速でそこに辿り着けるのだ。
昨日、二人のヤングに課題を出した。
「やってみて」とは言ったものの、実際に結果がでるまでセットアップやらなんやらで一週間はかかると思った。
ところが彼らは半日で結果を出してきた。「コピペですけどテヘペロ」とか言いながら。
あんなあ、コピペでも課題をこなすってのは凄いことなんだぜ。
結構面倒くさいことを頼んだつもりなのに完璧にやってきやがった。
俺が学生の頃は、コピペの元ネタを探すのに秋葉原の紀伊國屋ブックタワーに行って、片っ端から洋書を漁らなければならなかった。しかも一冊が何万円もするのも普通だった。
んで、だいたいはAlgolとかPascalとか FORTRANとか、とにかく当時すでに時代遅れでプロは誰も使っていなかった言語で書かれたそのアルゴリズムを自力でCに移植して、それでも何かが違ってちゃんと動かない、というのが当たり前だった。だからコピペだろうが凄いコードを書く人間は尊敬された。
それがどうだ。
今やプログラミング言語はたいがいが無料である。
昔は何万円も払わないとプログラミングの入門すらできなかった。
ググれば必要な情報がすぐ出てくる。コピペの元ネタも見つかる。
コピーできちゃう。で、よくわかんないまま動いちゃう。
でも別にそれでいい。
それでいいんだよね、とりあえずは。
そっから深堀りしていけばいいわけで。
昔は深堀りするエントリーポイントが決まっていたから、果てしない道のりを乗り越えないとなんなかったけど、今はサクッと好きな位置から掘り始めることができる。ラクだよね、それって。
いいなーいまのヤングは。
楽しそうだなーナウ・ヤング。
クソ、悔しい悔しいでも許しちゃう。
そうやって色んな所をすきなように齧ってみてから、「よーし、勉強するゾッ」と思ってアーキテクチャを体系的に学ぶと、物凄い感動がある。
要するに伏線なんだよ。
「なんでこれはシェーダーと呼ばれてるんだ?(影をつけるとは限らないのに)」とか、「なんでこれはメッシュと呼ばれてるんだ?」とか、そういうことがひとつひとつチラチラ、わかんないけどイイヤっていうレベルから、突然、「マジコレ凄え!」っていう発見に繋がって、それが体系的に理解されたときにすごく感動する。
僕は28歳の時に西田先生に「東大の大学院の授業を受けてみなさい」と言われて、試験にも受かったので履修してみたことがある。
でも正直、28歳の僕はコンピュータグラフィックスへの情熱を昔ほどは持ってなくて、なんていうか、28歳のくせにもう年寄りみたいな感じになってた。
でも西田先生の授業を受けたら、物凄いショックを受けた。
なぜなら3Dグラフィックスで食ってきたはずの自分、それで本も書いて、日本のMicrosoftで一番詳しい上級エンジニアだった自分が、知らないことがあまりにも多かったからだ。聞いたことのあった言葉や、人物、大学、研究機関が全て一直線に繋がった。その瞬間、コンピュータグラフィックスは僕にとってテクニックではなく、物語として認識された。熱い男たちの、熱い物語だ。そこにはサザーランドが、アラン・ケイが、ジョブズが、ビル・ゲイツが、ピクサーのキャットムルが、アドビのワーノックが、シリコングラフィックスとネットスケープのクラークが、躍動感を持って語られていた。
知識を体系的に学ぶとはこういうことか、と感動した。
これはたまたま僕がコンピュータグラフィックスをやっていたから、感動できた。
そして僕はコンピュータグラフィックスこそが人類を進化させる直接的なキーポイントを担っている、その歴史のどまんなかにあると感じた。
ユーザーインターフェースや近代OSや、ゲームやPhotoshopがぜんぶ、コンピュータグラフィックスの研究成果だった。
そして僕は、けっきょく自分がなんとなくテキトーにうまくやっていい気になっていたことが、実は数々の先人が残したレールの上を走る高速列車に乗っていただけに過ぎなかったことを知った。
僕にとってその列車の終点は、アラン・ケイだった。
そこまで到達したとき、逆に若い奴らはレールに乗ってることに気づかんのだな、と思っていた。
でもそうじゃなかった。
そもそもレールに乗ってることに気づく必要はないのだ。
人知れずレールに乗せてしまうことそのものが叡智なのだ。
若い奴らはそもそも遺伝子的にも優れているはずである。
遺伝子というのはそもそも交配によって進化と淘汰を繰り返す。
その進化がちょっと見えづらいから、親は常に子供の心配をする。
でも心配はご無用なのだ。
そもそも遺伝的にも進化するし、環境はもっと進化してる。
進化した環境で育った人間は、劣った環境で育った人間の何倍も環境を使いこなすワザを身に着けている。
だから進歩は常に若い世代が起こしている。
オーノー、じゃあ俺はこれからどうやって生きていきゃあいいんだ。
そうすると、やっぱり西田先生が未だに凄えという点を見習うしかない。
西田先生は凄い。
前から凄いと思っていたが、この二年、一緒に仕事をしてきてほんとに凄いと認識を新たにした。
西田先生は研究の中身をあんまり理解してない。
研究所のホワイトボードに書かれた数式について聞くと「こんな難しい数学が俺に解るわけ無いだろ」と笑う。
「何ぃぃぃぃ!!!」
と僕は思った。
わかんないのに論文書いてるのか。
それで僕は思った。
そうか、西田先生が凄いのは、西田先生自体が賢いというだけでなく、西田先生自身よりも賢い研究者をうまく指導してそれ以上の結果を出せるから凄いのか、ということを。
要するに俺たちは自分たちよりも優れた若い世代の能力を上手く引き出す、ガイド役として腕を磨かなければならないのだ。
ドワンゴでは大昔、超凄いプログラマーを「スーパーカー」と呼んでいた。
普通の自動車が時速100kmしかでないところを、300km出す車だ。
しかしスーパーカーと呼ばれるプログラマーを使いこなすことができるのは、スーパードライバーと呼ばれるプランナーだけだった。
西田先生はセナなのだ。
光速の貴公子なのだ。
すげえなおい
間近で仕事ぷりをみると、やっぱり改めて凄いと思った
- 53 https://www.facebook.com/
- 51 http://t.co/sxvZHfAFpR
- 30 https://www.google.co.jp/
- 20 http://pipes.yahoo.com/pipes/pipe.info?_id=7ed2910a6358c42a7305fae463b19704
- 11 https://www.google.co.jp
- 8 http://d.hatena.ne.jp/
- 8 http://feedly.com/i/latest
- 7 http://m.facebook.com
- 7 https://www.facebook.com
- 6 http://feedly.com/i/subscription/feed/http://d.hatena.ne.jp/shi3z/rss