小飼弾――35歳からのプログラミングこそ無上の至悦New Generation Chronicle(5/9 ページ)

» 2008年01月10日 08時30分 公開
[西尾泰三,ITmedia]

ラリー・ウォールはわたしの心を盗んでいきました

Q43 正直、コードを書かない人に何か言われたくないと思っている?

言うのは構わない。でも書く奴の方の意見を尊重する。ただ、コードを書かずに人を動かすというのも仕事としては認めている。スーツとギークという話がよくあるけど、エンジニアリングの素養がある人はスーツの皮をかぶっても案外うまく行くけど、その逆はあまり聞かない。どちらが上かという議論はそれが象徴しているんじゃないかな。

 ともかく、スーツの皮をかぶったギークというのは実は結構多くて、どスーツだと思っていたらギークだったというのは珍しくない。問題なのは、スーツの皮をきっちりとかぶりきれないギークで、この場合、技術というのを狭くとらえがちな言動が目立つ。コンピューターサイエンスなどは物事をやり遂げるためのやり方の1つでしかなくて、どこにお金を投資するか、なども広義の技術であると考えれば、純粋なスーツというのはあり得ないのかもしれない。

Q44 なんちゃってプログラマーってどんな人を指しますか?

PHP使ってる人? なんちゃってでいいところがPHPのいいところでもあり、存在理由でもあるのだけど。これはPHPをディスっているわけでも何でもなく、使いどころを間違えなければPHPもいいもの。ただ、PHPでプログラミングの奥義を究めたいと言い出すと、「それは違うだろう」と思う。なんちゃってプログラミングがPHPの一番正しい使い方であって、PHPでクロージャとか、それはあさっての方向に進んでいるよといいたくなる。

ギークになるぞと勉強のとっかかりにしたPHPを上のようにいわれ、涙目のべにぢょさん

Q45 セキュリティ面で心懸けていることは何ですか?

セキュリティは事件への対策、セーフティは事故への対策で、それぞれトレードオフの関係にある。セキュリティは1つの頑丈なバスケットを守り通す。セイフティは逆で1つのバスケットに何もかも入れない。

Q46 AIをプログラミングするとすればどういったものを?

AL(Artificial Life:人口生命)の方が脈があるかも。プログラムの集合体が知能として振る舞うのがAIですが、それで人間並みの知能を持ったものが登場する可能性もあると言い切ってよいでしょう。一方、ALは最低限の情報だけを与え、環境に対する適応能力を徐々に上げていくボトムアップ式のサブサンプションアーキテクチャ。AIはすべてがコードなので解析もできますが、ALはコードとデータから構成されるので、作った本人にも分からない状態が生まれるわけです。そういう意味ではGoogleもAL的。GoogleをGoogleたらしめているのは、Googleの中の人たちが作ったコードだけではないのです。

Q47 コーディングスタイルで許せないことは?

コメントと実際の挙動が違う、というのは許せない(笑)。これが結構あるんだよなあ。自分でもやってしまうときがあるけど。お行儀の悪いコードというのはあっても仕方ないと思うけど、そうしたものを直さないのは問題。悪いコードはない、悪いコーダーがたくさんいるといったところです。

Q48 美しいと思うコードはどんなものですか(例があればなお可)?

「これはすごい」と思ったコードはたくさんあります。ほとんどアルゴリズム系のコードではありますが、1つ挙げるとしたらY Combinatorかな。関数そのもので再帰を定義するために生まれたのがY Combinator。

 関数とデータを等価として扱うのはすごいことなんです。コードは実行されなければただのデータですよね。これは、データはプログラムであるという証明です。逆に、データそのものをプログラムの羅列で表現できるかを考えると、これもまたできてしまうのです。これは美しい。

Q49 思わず「こ れ は ひ ど い」と口にしてしまったコードがあれば教えてください。

自分が書いたものも含めてしょっちゅうですが、世界平和のためにこの回答は禁則事項としておきましょう。

Q50 教えて君には「ググレカス」といいたくなる方ですか

仏の顔も三度までじゃないですが、最初は丁寧に教えるかな。3度目には「ググレカス」とすら言わないだろうけど(笑)。今のところはGoogleで検索するコストは(時間をコストに含めても)あまりに低いので、まずそうしておくべし。

Q51 国または民間企業が実施している情報処理の資格を持っていますか? 持っている場合、それは何ですか?

持ってるかもしれないけど気にしたことがない。役に立たなさすぎる。そういう意味では、Rubyで検定試験がはじまったのは、Ruby終了のお知らせなのかも(笑)。Perlは公のものに頼るほどおちぶれていない。

Q52 子どもに(あるいは生まれたら)プログラムを教えますか?

頼まれれば。自分の将来は親に聞くな。

Q53 大物ハッカーといえば?

やはりラリー・ウォールかな。人の心までハックできるハッカーはわずか。国内で言えばMatzさんとなるのかもしれないけど、Matzさんはそこ(=人の心をハック)までするのはやりすぎだよと思っている節がある。そのほかに挙げるならリチャード・ストールマンかな。GNUやGNU GPLについての質問でも触れたけど、ほかの人に強要するのはともかく、強くあろうとする姿はかっこいいじゃないですか。

Q54 国内外を問わず、尊敬しているプログラマーは?

大勢。自分で作ったものを公開している人は手放しで尊敬します。

Q55 自分より年下で注目しているプログラマーは?

これまた大勢。最近はむしろ年下の方が多いのかも。今の僕のJavascriptの書き方はほとんどAmachangに教わったようなものだし。一生プログラマーでいれるかどうかは、言い換えれば年下から学べるか否か。年長者が文句を言うだけの存在と化すのなら、その余命をもっと活用してくれるであろう人間に譲れ、と真剣に思う。余命が長い人の方が根源的な価値があるのだから。そういう意味ではプログラマーにとって一番重要な財産は「暇」なのかも。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ