見出し画像

Pythonのパラドックス

ポール・グレアム(Paul Graham)が執筆したエッセー「The Python Paradox」の日本語訳になります。

2004年8月

最近の講演で、私は多くの人たちを動揺させるようなことを言った。それは、Java のプロジェクトに取り組むよりも Python のプロジェクトに取り組むほうが賢いプログラマーを獲得することができるというものである。

これは Java プログラマーが頭が悪いということではない。私が言いたいのは、Python のプログラマーは賢いということである。新しいプログラミング言語を学ぶことはかなりの労力である。そして、人びとは Python が自分たちに仕事を得させるという理由で、Python を学んでいない。彼らは純粋にプログラムが好きで、自分たちが既に知っている言語に満足していないという理由で Python を学ぶ。

これがまさに彼らを会社が雇いたいと思うべきプログラマーのようにするのである。こういう理由で、他にもっといいい名前がないので、私は「Python のパラドックス」と呼ぼう。会社が比較的難解な言語で自社のソフトウェアを書くことを選択する場合、その会社は優れたプログラマーを雇うことができるだろう。なぜなら、そういう会社はその言語を学ぶほど関心している人たちだけを引き込むからである。そして、プログラマーにとって、パラドックスはさらに顕著である。あなたがいい仕事を得たい場合、学ぶべき言語は人びとが単に仕事を得るためだけに学ばない言語である。

これまでのところ、数社だけがこのことに気づくほど賢かった。しかし、ここでも起きている選択のようなものがある。彼らはまさにプログラマーが最も働きたい会社である。たとえば、Google である。彼らが Java プログラミングの求人広告を出すとき、彼らは Python の経験も求めている。

ほぼすべての広く使われている言語を知っている私の友人のひとりは、ほとんどの自分のプロジェクトに Python を使っている。彼は主な理由はソースコードの見え方が好きだからと言っている。これは他の言語よりもひとつの言語を選ぶふざけた理由に思えるかもしれない。しかし、思うほどあまりふざけていない。あなたがプログラムを書くとき、コードを書くよりもコードを読むことに多くの時間を費やすのだ。彫刻家が粘土の塊を手荒に扱うように、あなたはソースコードの塊を手荒に扱う。だから、ソースコードを見苦しくさせる言語は、塊だらけの粘土が彫刻家にとって気を狂わせるようであるように、厳格なプログラマーにとって気を狂わせるようである。

見苦しいソースコードの話になると、人びとはもちろん Perl を思い浮かべるだろう。しかし、Perl の表面的な見苦しさは私が言うようなものではない。本当の見苦しさとは厳しく見える構文ではなく、間違った概念からプログラムを構築しなければならないことである。Perl はアニメのキャラクターが悪態をついているように見えるかもしれないが、概念的には Python を上回る場合もある。

これまでのところ、とにかく。両者の言語はもちろんターゲットの心を動かしている。しかし、彼らは、Ruby(Icon、Joy、J、Lisp、Smalltalk)とともに、本当にプログラミングに関心がある人たちによって作られ使われているという事実を共有する。そして、そういう人たちはプログラミングをうまくやる人たちである傾向がある。


読んでくれて、ありがとう🙋🏻‍♂️ もしこのnoteが気に入ったら、「❤️」ボタンを押したりTwitterでシェアしたりしていただくと喜びます👍🏻 🆕 Jackを応援するパトロンになりませんか?👀 https://note.com/tokyojack/circle