2008-01-31

_ Zopeの導くところへ、Pythonはついて行く

Web Component Development with Zope 3 の前書きにEJBがコメントを寄せているが、 なかなか面白いと思ったので、ざっくり翻訳してみる。 ちなみに、原文はここにもある。 以下、翻訳。

Zopeの導くところへ、Pythonはついて行く。

長年続いてきたけれど、この潮流は止まりそうな気配さえない。 最新の宣伝文句が何であろうと、RESTful Webプログラミングだろうが、 標準化インタフェースだろうが、プラグ可能コンポーネントだろうが、 実用的制限実行環境だろうが、 Zopeは控えめに行き先を先導し、他の誰よりも何年も先を行って、 本物を送り届けてきた。 技術上の概念だけではなくって、ちゃんとお金を払っている顧客のオフィスに届けられ、稼働してきたんだ。

ところが奇妙なことに、進みつづけるPythonの開発の中で、 Zopeの役割はPython開発者たちの間でさっぱり知られず、評価もされていない。 Pythonコミュニティで何か新しくて持ち上げられてる開発が、 特に、Webアプリケーションとかオブジェクトセキュリティとかの世界で、 Zopeではもう何年もそれやってきたことだよ、なんてのが頻繁にあるんだ。

Pythonコミュニティの、こんな奇妙な盲点を見てると、私は少々まごついてしまう。 みんながやっていることはZopeがもうやってるよと教えてあげても、 大抵反応はぽかんとされるか、反応なしかなんだ。 それはまるで、誰か他の人が再発明するまで、Zopeの革新は存在しないかのようなんだ。 実のところ、そうした傾向を見ているうちに、こんなちょっとした言葉を思い付いてしまった。

Zopeを学ばない者は、再発明することを運命づけられる。

Zopeを実際に使おうと思っているかどうかは関係ないんだ。 率直に言って、私はZopeを何年も使ってない。 でもZopeから得た教訓は、絶えず使っている。 Zope、とりわけZope3を学ぶことで、疑問の余地なく、もっといいプログラマになれるんだ。

当然、「もっといいプログラマ」って、どうもっといいんだ?とか、 何をできるのがもっとよくなるの?とかいう質問になるだろうね。

Zopeは、Zope Corporation (旧Digital Creations, LLC) が請負業務をもっと効率的に行えるように作成された。 おかげで、進化しつづけるツールキットを用いて、再利用可能なソリューションを顧客に提供し、同時にそうしたアプリケーションの開発や保守のコストを削減することができたんだ。 その目的は「一度だけ書いて、何度も使う」という規模の経済効果を生み出すことなんだ。

もしこれがあなたのキャリアが辿る道筋なら、 そうした目的のために本当にZopeを使おうか使うまいが、 Zopeではどうやって実現されているのかを学ぶと、 ためになることばかりなんだ。

もしPython用に何か新規のものや最新技術を開発しているんなら、 「Zopeにはすでにこんなものか、似たようなものがあるだろうか。 もしないとしたら、Zopeだとこれはどうやって使うだろう」と問いかけると、得るものが大きい。 これこそ、 私がPython Eggsやsetuptools、WSGI (Python Web Server Gateway Interface) の仕様書を開発していたときに発した質問だったんだ。 これらのプロジェクトがうまくいったのは、WWZD: Zopeなら(このアイデアで)どうやる? (What Would Zope Do?) を尋ねたことが直接的に結果に繋がったんだ。

どうしてかというと、Zopeにいいことは、大抵Pythonにもいいことだから。 言語上のって意味じゃないよ、 Pythonの「慈悲深い独裁者」 (訳注:Guido van Rossumのこと) と 「Zopeの教祖」 (訳注:Jim Fultonのこと) は言語の変更の仕方については頻繁に激しくけんかしているからね。

自分が言いたいのは、Zopeをより良いプラットフォームにするツールは、 Pythonをもより良いプラットフォームにするってことなんだ。 そして、Zopeをこつこつ勉強してみれば、きっとなぜなのかがわかるようになると思う。

それから、ひょっとすると、もしかしたらってだけなんだけど、 特に新しいアイデアに至ったとき、他のプログラマよりちょっぴり前を進んでいる感じを受けるようになるだろうね... でも出来ればあんまり前に行き過ぎないように、そうでないと、 みんな今度はあなたも存在しないかのように振る舞い始めちゃうからね!

幸運を祈る!

本日のTrackBacks(全1件) []
_ Yet Another But Open:2008-02-20 (2008-02-20 02:26)

ところが奇妙なことに、進みつづけるPythonの開発の中で、 Zopeの役割はPython開発者たちの間でさっぱり知られず、評価もされていない。 Pythonコミュニティで何か新しくて持ち上げられてる開発が、 特に、Webアプリケーションとかオブジェクトセキュリティとかの世界で、 Z