RedditというのはUSの技術者を中心に人気のあるソーシャルニュースサイトで,Pythonを使って書かれている(バックエンドはと言うとPostgreSQL(Slony))。もともとLispで書かれていて,web.pyというフレームワークを生み出したりもしている。まあ一言で言うとRedditを作っている連中は面白い。Redditのコードが公開されていて,だれでもクローンを作ることができる,とかね。2,3歩先を行っている。
PyCon 2009のキーノートでRedditのFounderたちがキーノートスピーチをしたんだけど,その時の質問「なぜRedditがLispからPythonに移行して,Pythonを使い続けているのか」という質問に対する答えが面白い。ブログに要約を書いてくれている人がいたので,ちょっと翻訳してみた。
なぜRedditがPythonを使うのか
Steve HuffmanとAlexis OhanianがPyConでキーノートスピーチをしているとき,誰かがこう質問したんだ。「何でRedditはLispからPythonに移行したのか?」。 移行の理由はそんなに面白くないけど,なぜPythonにとどまっているかという理由は興味深い。SteveはRedditがPythonを使い続ける理由として,2つの「大きな」理由を言ってる。
Pythonを使い続ける最も大きな理由...そうだなあ,大きな理由が2つあるよ。ひとつめの理由はライブラリ。Pythonには全部のライブラリがそろっている。僕たちは開発を進めてきた課程で,たくさんの技術や,たくさんのアーキテクチャを学んできた。たとえば,僕がコネクションプールについて理解していなかったとしても,僕はただ単にライブラリを探してきて使うことができる。それからコネクションプールについて理解して,自分たちでライブラリを書けばいい。Webフレームワークについても理解する必要はない。自分たちのフレームワークを作る時が来るまで,他の人が作ったフレームワークを使うだけだ。その他の多くの技術を使う前に学ぶ必要はないんだ。だってPythonにはほとんど全ての種類のライブラリが備わっているのだから。これからも,僕たちはもっと多くの技術を学び続ける。そして自分たちの手でライブラリを作る。技術を自分たち流に変えるためにね。このような手法を使うことで,自分流に変換する作業をとってもとっても簡単にすることができるんだ。
もうひとつ,僕たちをPythonにつなぎ止めておく理由は,これは最も大きな理由なんだけど,Pythonのコードが読みやすく書きやすい,ということなんだ。たとえば僕たちが新しい技術者を雇うとき。Pythonが書ける技術者を雇うことはまずないわけだけど。僕はただ「ぜんぶPythonで書いてね」と言うだけだ。そう言うだけで,彼らの書いたコードを僕は読むことができる。これはすごいことなんだけど,僕は部屋越しにコードが良いか悪いかを見分けることができるんだ。というのは,良質なPythonのコードはとても明確な構造を持っているから。これが僕の仕事をより楽にしてくれるんだ。Pythonのコードはとんでもなく表情豊かで,とんでもなく読みやすく,そしてとんでもなく書きやすい。だから僕は仕事をスムーズに運べるというわけさ。
ちなみに,彼らのキーノートスピーチの動画がネットに上がっている。You'll find how funky they are by seeing it :-).