年をとるのは嫌なものだ。「どうすればプログラミングできるようになるんですか?」と聞かれるようになる。
愚問だと思うが、聞かれるものはどうしようもない。ここに答を書いておく。
1. この業界の語彙と概念を覚える
どんな業界でもそうだと思うが、大きな疑問を持つことは禁じられている。
「どうして携帯電話のメールのパケ代は着信側が払うの?」
ああ、サリー、そいつは訊いちゃいけないことなんだよ。なぜかっていうと、NTTドコモの野郎は、日本中のマスコミっていうマスコミに大量の広告を出して、広告料でマスコミを口封じしてるんだ。
サラ金の奴らも同じことをやってるんだ。アイフルが業務停止命令を受けるまで、アイフルを告発する報道なんてなかっただろう?
そうなんだ、サリー。広告をガンガン出してる奴らは、後ろ暗いことをしても平気だから、平気で後ろ暗いことをする。奴らには気をつけろ。サラ金とは関わるな。携帯電話は持つな。そうすれば、お前みたいな質問をしなくてもすむし、そうすれば、くだらない嘘を信じたりすることもないんだ。
まだお前の質問に答えてなかったね、サリー。教えてあげよう。
それは、NTTドコモがあくどい金儲けをしたからなんだ。もう少し細かくいうと、NTTドコモがiモードを開発したときに、開発責任者がそうしようと決めたんだ。奴がどれだけデタラメをやったか、俺はちゃんと知ってるよ。
他の奴らに同じことを訊いたら、それらしい答をもらえるかもしれない。「技術的」な奴をね。でもそれは全部嘘だ。NTTドコモに踊らされてるか、そうでなきゃ、物事を「技術的」に見るのが好きなだけだ。
iモードの開発責任者は罰されなかった。それどころかNTTドコモはiモードで大儲けした。それを見て、他の携帯キャリアも、同じことをした。
悪は滅びる、だなんてことは俺には言えないよ。サラリーマンなんてものがこの世に出てくる前から、サラ金みたいな奴らはいたんだ。
サリー、広告をガンガン出してる奴らには気をつけろ。嘘を信じなくていいように。
「昔と今を比べたら、3D CGはすごくリアルになったのに、どうして音声合成はへっぽこなままなの?」
SFXには金がかかるけど、声はどんな声でも金がかからないからさ。
そりゃ、「技術的」な話はいくらでもできる。そういう話のなかには、本当の話もある。だがね、その技術を支えてるのは、金なんだよ。大昔のハリウッド・スターの声を再現するために1千万ドル出す奴がうようよいたら、いまごろエロゲー声優なんてもんはいなくなって、声モデラーなんて商売が流行ってるかもしれないな。
さあ、サリー、そういう本質的な質問はこれくらいにして、勉強するんだ。そうすれば、もうちょっとくだらない質問ができるようになるぞ。「どうしてJava言語にはレキシカルクロージャがないの?」とかな。それは、「ヒープメモリをアロケートするときには必ずnewキーワードを使うこと」っていうルールを決めたからなんだ。たぶん、Guy Steele Jr.も、スタックたんが好きだったんだろうな。でもスタックたんの時代はもうとっくに終わってる。Parrot VMもLua 5.0もスタックレスさ。
お前もこういうオタクっぽい格好いい話がしたいだろう? さあ、勉強するんだ。
2. 問題を、新しく学んだ語彙と概念で理解するようにする
道具箱に金槌しか入っていないと、どんなものでも釘に見えるようになる。釘に見えないものは、そもそも認識できなくなる。
財産を金しか持っていないと、どんなものでも金で買えると思えるようになる。金で買えないものは、そもそも認識できなくなる。
これは人間の本性で、克服できるものではない。存在は意識を規定する。
だから、釘を打つように、金で買うように、プログラミングするのだ。そういう状態になれば、「プログラミングで解決するべき問題が見つからない」などということはなくなる。
3. 1と2をひたすら続ける
この業界の一番いいところは、飽きがこないという点だ。新しい語彙と概念が、それこそ雨のように降ってきて、歴史の排水溝に流れ込み、忘却の海へと降りてゆく。
いい雨が降らないと思ったら、忘却の海に遊びにゆくといい。なかには復活するものもある。たとえば、スタックたんが余命いくばくもないので、コルーチンはきっともうすぐ復活する。
4. 生命、宇宙、そして万物についての(究極の疑問の)答え
このエントリをここまで読んで、それでもなお「どうすればプログラミングできるようになるんですか?」と訊くのなら、仕方ない、はっきり申し上げよう。
私も知らない。