プログラマーたちは、使用するプログラミング言語と驚くほど密接な関係を持っています。プログラミング言語はあなたをイライラさせ、また教え導いてくれます。あなたはそのうちにプログラミング言語の内部構造や、ちょっとした変な癖を学ぶことになるでしょう。それはあなたの頭のなかにも入り込み、考え方をも変えるでしょう。
正しいプログラミング言語を選べば、新しくて美しい何かを一緒に作り上げることができます。間違った選択をすれば、もちろん面倒なことになります。
言い換えれば、プログラミング言語を選ぶことは、恋人を選ぶことによく似ているのです…
(注: 私はストレートの男性です。それ以外の方は、自分の興味に合わせて自由に脳内変換してください)
PHP は、あなたが高校時代のある夏、不器用ながらも付き合った初めての彼女です。もっと真剣な関係を築こうとしてはいけません。この子は複雑な問題を抱えています。
Perl はPHPのお姉さんです。あなたからしたらちょっと年上かもしれませんが、90年代は人気者として鳴らしていました。Larry Wall と長い間付き合っているので、今は理想も低くなったし、かなりのブッサイクになりました。彼は「お前らが何を言おうと知らん、俺は彼女を愛している!」と言います。そんな人は彼だけです。
Ruby はスクリプティングファミリーの中でもイケてる子です。初めて彼女を見たときは、その美しさに息を呑んだことでしょう。それに、一緒にいて楽しかった。当時はちょっとのろまで天然という印象がありましたが、ここ数年でだいぶ大人びてきました。
Python はRubyの良識あるお姉さんです。彼女はエレガントで、洗練されています。もしかしたら完璧すぎるほどに。ほとんどの男性は、「Pythonが好きじゃないヤツとかいるの?」と思うでしょう。Pythonが好き、そうでしょうねぇ。エッジーでロマンティックなRubyの「つまんない版」として見ているだけですよ。
Java は成功したキャリアウーマンです。彼女と働いたことがある一部の人は、彼女の地位は実力ではなく、中間管理職に好印象を持たせる要領の良さによるものだと感じています。あなたは聡明な彼女と一緒に身を固めたいと感じるかもしれません。ただ、「そこはそうじゃないわよ、ああもう、あなたっていつも間違ったType Interfaceを使うしセミコロンも抜けてるじゃないの」と口うるさく言われる日々に備えてください。
C++ はJavaの従姉妹です。あらゆる側面でJavaと似ていますが、一番の違いは、もっと純粋な時代に育っていて、Protectionを使いたがらないところです。ここでいうProtectionは、Automatic Memory Managementのことですよ。何だと思ったんですか?
C はC++のお母さんです。白ヒゲの古いハッカーの前で彼女の名前を言ってみたら、間違いなく目をキラキラさせながら回想するでしょう。
Objective C もC家の一員です。あの変な宗派にだいぶ前に入信していて、外の世界の人と付き合おうとしません。
Haskell, Clojure, Scheme や彼女たちの仲間は、大学生の頃のとある夏にこの上なく楽しい時間を一緒に過ごしたであろう、流行に敏感なアート系のかしこい女の子たちです。本気で試された、と初めて感じさせてくれた女性たちでした。もちろん、彼女たちと真剣な関係になることはありえません(自分が一番よく分かっていますよね)。なのに、今でも考えてしまいます。「もしあるとしたら?」
C# については、彼女の家族の評判を理由に避けるかもしれません。でも彼らによると、ここ数年の間にだいぶまともになったそうです。一度関わったら、もう家族の一員なんだ。分かるかい?データベースがいるって?彼女の兄弟のMSSQLが何とかしてくれるよ。住む場所がない?ハッ、彼女の父さんがAzure街にマンションを買ってくれるってさ。なになに、フレンドリーすぎる親戚たちのことで思い悩んでいるんだって?いいや、逃さないよ。君はもう家族の一員なんだ。聞いてるか?
Javascript – ねえ、彼女はたしかPHPに会うよりもずっと前にファーストキスした子だよね?今はどうしているのかなぁ。ここ数年の間にずいぶんとキャリアが軌道に乗ったみたいだ。昔のよしみで、いつか近況報告をしあえたらいいんだけど…(jQuery で全身ドレスアップした彼女を見かける)うわぁ…すごくあかぬけて綺麗になったなぁ…