PyConTX 2006 二日目 - Guidoのキーノート,Zope3の不安
朝起きてみたらドアのところに「チェックアウトよろしく,Marrottを選んでくれてありがとう」みたいな紙が置いてあって,ビビってフロントに掛け合ったそんなPyCon 2006二日目。こんなtalksを聞いてみました。
- Keynote: Guido van Rossum on "The State of Python"
- State of Zope
- IronPython Implementation
- Gamma: An Atom Publishing Protocol implementation for Zope 3
- entransit, a content deployment system
- Building Pluggable Software with Eggs
まずはGoogle Tシャツを着たGvR(Guido)のキーノート。CVSからsvnへの移行,python.orgのリニューアル作業(http://beta.python.org/ )など一年間のPython周辺の変化に触れていました。
その後,3月始めにアルファリリースが予定されているPython 2.5の紹介。相対import(from .. import fooのような)やwithステートメントの導入,generatorがtry/exceptブロックで使えるようになること,など,言語の実装まわりについてかなり細かく話していました。
Python 2.5ではバイトコードコンパイラが刷新されます。今まではバイトコードコンパイラの実装を知っている人が数人しかおらず,新しいステートメントを作ろうと思うと大変だったそうですが,刷新によってコンパイラの実装が明確になり,Pythonはより柔軟な変化に対応できるようになる,と言ってました。あと,ちょっと高速化もされるらしい。
新搭載の標準モジュールとしては,ctypes,(c)ElementTree,setuptoolsやegg,msiなどのディストリビューションサポートモジュールなどが予定されているようです。2.5 finalは9月30日にリリース予定とのこと。その間に,2.4系のメンテナンスリリース2.4.3がリリースされるようです。
Python 2.5について簡単にまとめると,後方互換性を保ちつつ,よりスマートに,より直感的なコーディングができるように,というこれまでのPython進化の方向性は堅持しつつ。Python 3000を睨んだ革新を感じさせるリリース,ということになるでしょうか。変化は静かに着実に。Pythonは,開発者として長くつきあえる言語であるということを再認識しました。
次に,Zope CorpのJim Fultonのtalk。去年のように「Zope3で行くぜ!」といった明確なフォーカスどころがなく,全体として散漫な印象でした(残念)。RoRやTurboGears,Djangoのことを頻繁に口にしていて,やはりかなり気になっている様子がうかがえました。多分,多分ですが,Zope Corpの連中は,いろんな意味で相当苦しんでいるんだと思います。"Zope was RoR"とか"Zope 2 evolves to Zope 5"とか,Buzz wordっぽい言葉も随所にちりばめていましたが,ちょっと使いこなせていない雰囲気。
Zopeは,利用者のものか,開発者のものか,というところで永遠に揺れ続けているんだと思います。利用者はZopeを広めてくれるかも知れないが,Zope自体を拡張しないし革新をもたらさない,ただ使うだけです。開発者はZopeを拡張するかも知れないが,広めてはくれません。 非開発者的利用者を沢山獲得した,という部分がZopeのユニークなところ。ところが,開発者の,しかもかなり「上澄み」の部分にフォーカスしているZope3に注力したことで,Zope自体のユニークさの源であるところの「利用者」を失い始めていることに,Zope corpは「おそれ」を感じ始めているように見えます。一方,背後にはDjangoやTurboGearsが迫り,このままではシャレにならない数の開発者が流出するのは目に見えている。Zopeはジレンマに陥っていると言ってもいいのかも知れません。
多分,こういう状況を劇的に改善するのは,マーケティング色のある「プロパガンダ」だと思うのだけど,Zope corpの連中はどちらかと言えばマーケティングがヘタ。「プロパガンダ」を実現するために的確に開発リソースをコントロールし,新たなる利用者の獲得につなげているPloneコミュニティとは対照的。
Zope3の設計は素晴らしい。ZODBも,Cylric gabage collectorを実装したり,バックエンドのDBを切り替えやすくなったりと,着実に進化している。技術的にとぎすまされた部分を持っているのに,それをうまくお金に転換できていないような雰囲気を受けます。Zope Foundationをうまくドライブして,開発者コミュニティの力をZope本体に取り入れられるようになることを願ってやみません。
会場が移ってIronPythonの話。.Net上に実装されたIronPythonのメカニズム,および実装の詳細をいろいろ話してくれました。IronPythonはPythonを.Net上で単純にエミュレーションするのではなく,PythonのバイトコードをILに変換,最終的にはx86のマシンコードに変換して実行する,という構成になっています。一見スタティックなイメージのあるこの構成の上で,いかに「動的な型づけ言語」を動かすか,ということろにいろいろなアイデアがつまっているようです。開発者のJim HuguninはJythonの元開発者で,そのあたりの経験もふんだんに生かされているのだと思います。Jythonと比較して「New Style Classは素晴らしい」と3回くらい言ってました(笑)。
ひとしきり説明が終わったあと,IronPythonのインタラクティブモードを使ったデモンストレーションがあったのですが,これが圧巻。.Netのイベントを動的に変更してウインドウの挙動を変更していました。UI構築みたいな七面倒くさいコーディングには多大なる威力を発揮するものと思われます。正式版のリリースが待ち遠しいです。
例によって写真をアルパムに仕立てましたので,下のフォルダをクリックしてどうぞ。二日目は内容も濃く,さすがに疲れました。。。
- The URL to Trackback this entry is:
- http://coreblog.org/ats/pycontx2006-2day/tbping

