このサイトについて

Python Conference 2007 TX,1日目 - 世界で使われる/世界を支えるPython

Python Conference 2007 TX,1日目 - 世界で使われる/世界を支えるPython

さて,本日からPython Conferenceに参加します。ちなみに昨日は有料のチュートリアルセッションが開催されていました。

あらかじめ登録を済ませてあるので,名前を言って名札をもらいます。参加者向けのハンズアウト,そしてPyCon Tシャツなどが入った布袋をもらって,開場に入ります。ハンズアウトの中には「Gogoleで働こうよ」という内容の紙が。。。今年のPyConは去年に比べて参加者が40%も多いのだそうです。Talks(プレゼンテーション)に使う部屋も,去年から一部屋増えていました。

今年のPyConを一言で言い表すなら「世界で使われる/世界を支えるPython」という事になると思います。PythonにはWebアプリケーションフレームワークもあるけれど,GUIアプリの構築やサーバアプリの構築から物理現象のビジュアライゼーション,数値計算など,様々な分野で活用されています。Pythonは全方位をこなす言語で,その性質のため様々な分野で活用されています。時には誰でも知っているような分野/業種でPythonが使われていたり,また世界を変えるための中心となって活用されているのがPythonなのです。Pythonのそのような特徴をよく表しているのが今年のPyConだと言えると思います。

以下,私が聞いたTalksを中心に現地リポートをお伝えします。

KeyNote : The Power of Dangerous Ideas: Python and One Laptop per Child

「世界の子供すべてに一つのノートPCを」という高尚な理想をかかげ活動するOLPC(One Laptop per Child)で活動するIvan Krstićさんのお話し。前職では教育機関のPCを管理する仕事をしていて,セキュリティの確保が大変だったという話から始まって,OLPCがなぜ必要かという話に及びます。「普通の方法で第三世界の教育水準を上げるには50年から100年かかるかもしれないけれど,OLPCならもっと早く世界を変えられる」というような熱いお話しが続きます。確かに,電源がないようなところでも長時間動くノートPCがあったら,第三世界の子供達はものすごい勢いで知識を吸収出来ると思います。

OLPCでは,ユーザが利用するGUIを始め多くの部分でPythonが活用されています。Pythonが使われているのはいろいろ理由があるようです。たとえば,GUIなどのソースはできる限り使う人が触れたり改変できたりすべてで,かといってOLPCのようにリソースが限られたマシンでそのような構成にするにはコンパイル不要な動的言語がふさわしいこと。そもそもPythonがすばらしいことなどが主な理由のようです。

また,ただ単にPythonを使って作りました,と言うわけではなく,ちゃんと自前のフレームワークを使っているみたい。QtベースのGUI構築にはsugerというフレームワークが,文書などの保存用にはYellowというオブジェクトデータベース(?)を使っているそうです。このフレームワークは,数日くらいのうちにPublic Domainとして公開されるとのこと。とても楽しみ:-)。

State of Zope

おなじみZope Corp.のCTO,Jim Fultonさんを始め,Ploneの創始者の一人でもあるAlan Linyanさん他4人のお話し。現在のZope2,Zope3やZope Foundationのステータスや予定などについて,4人のパネリストがお話ししてくれました。話を聞いていると,どうもZope2, Zope3を含めたZope全体の行く末についてはっきりしたビジョンを誰も持っていないような印象を受けます。そもそもZope 3の扱いや評価について統一した見解がないのが原因のような気がします。Alanも気を遣ってかPloneのことは一言も言ってなかったし。彼は自分の会社でPloneベースの製品を売ってるくらいの人なんだけど,歯がゆく無かったのかな。

Zope corp.のJim Fultonが「Zopeでビジネスをしている人は沢山いるはずだ。その価値は大きい」というようなことを言っていました。確かに,Zope(そしてあえて言うならPlone)がPythonに果たした役割は大きいし,未だに影響力を持ち続けていることは確かだと思います。そのような状況でさえ,なんとなく全体的にまとまりがないような印象を受けるのはなぜなんだろう,としばし考えてしまいました。

Introductin to Zope 3

Zope 3のコンポーネントの構成のうちさわりの部分(interfaceとadapter)を解説するTalk。発表者が若いのが印象に残りました。例題も「My SpaceのようなSNSをZope 3で作るには」という風に今風。サンプルコードを交えつつ,Zope3のコンポーネントを解説していました。

最後に聴衆の一人から「Schemaはどうよ?」とつっこまれて他のだけど,「Schemaは使ったことがないので。。」と正直に答えていたのが逆に好感が持てました:-)。

Visual Python in a Computational Physics Course

VPythonという,Pythonを使ったビジュアライズ補助ライブラリ(開発環境ではないですよ!)を使った事例の紹介。大学の物理学のコースで,衛星の軌道,銀河の衝突や分子のフラクタル次元測定などの物理現象を3Dのアニメーションで表示してより分かりやすくしました,というようなお話し。Pythonは学習曲線が緩いので,非開発者に教えるのに最適だった,教えていた教授自体,Pythonを始めたのは去年の夏からだった,というお話しが印象に残りました。

Lightning Talk

昼食中は,Lightning Talks。事前に申し込んだTalkerの他に,PyConのスポンサーなども加わって5分ほどの発表を行います。EVEオンラインというネットワークゲームの開発チームの話が面白かったなあ。

WSGI: An Introduction

SQLObjectやPython製のバリデーションエンジンForm Encodeなども作っているIan Bickingさんのお話し。WSGIという,Webアプリケーション用の抽象化レイヤー(ミドルウエア)の解説。普通,WebアプリケーションというのはCGI用とかmox_xxxx用とか,あるいはZopeやCherryPyのように専用のWebサーバ「専用」に作って,かつテンプレートエンジンにもモデル(O/Rマッパー)にも縛りをつけるのものだけど,WSGIはその種の接続部分を抽象化して相互変換をしやすくしようとする試み。主にWebサーバ間のインターフェースについて,手書きの図を交えて解説してくれました。

IanさんはWSGIのことを「ダブリュー・エス・ジー・アイ」と発音していたけど,質問にたった聴衆の方は「ウイスキー」と発音していました。どっちもアリなのかも。WSGIのようなものを「Microframework」と呼んでいました。

Web Frameworks Panel

Zopeを始め,TurboGears, DjangoからCherryPy, Spice, TwistedベースのNevowからPyjamasまで,最近目に付くWebアプリケーションフレームワークの作者やコミッターを集めたパネル。そうそうたる顔ぶれです。CherryPyの作者Robert Brewerははじめて見た。ていうかみなさんZopeのJim Fultonに気を遣いすぎ。しかし考えてみたら,ZopeがWebアプリケーションフレームワークの一角に顔を揃えているのはある意味画期的かも。

各フレームワーク,および作者の簡単な紹介から始まって,なぜPythonを使ったのか,Pythonを使って良かったこと,といった質問が続きます。ドキュメントの話になると,Djangoの人(Adrian Holovarty)は「ドキュメントがないと同じ質問をする人が沢山でて疲れる」という話をしていたのと対照的に,ZopeのJimさんは「フレームワークを使ってもらうためには,一通り使えるようになるまでストーリーを作ることが重要なんだ」と言っていました。どちらも同じように「ドキュメントは重要」ということを言っているわけですが,立場が違うと言い方が違うんだなあとヘンに感心しました。

最後は今時らしくAjaxのことに話が及びます。pyjamasは面白そうだよ。

Python inside SONY Pictures Imageworks

SONY PicturesのCG開発部門Imageworks内でのPytho活用方法についての紹介。Imageworksといえば,スーパーマン(2006年公開版)やスパイダーマンなど,近年CGを大々的に使った映画の中でも特に印象深い作品を作り続けている映画制作会社。そのCGの多くの部分でPythonが活用されているようです。

Imageworksでは,画像のエフェクトなどにPythonを使うだけでなく,動画を作る際にライティングやカメラワークを定義,確認するために独自のフレームワークを作って活用していると言うことです。このアプリケーションの多くがPythonで書かれていて,リアルタイムでライトやカメラの設定を変更して,プレビューを確認できるとのことでした。Maya 8.5にもスクリプト言語としてPythonが搭載されていますし,ILMがPythonを使っていることは有名です。CGの世界とPythonは今後ますます接近してゆくことと思われます。

あとはPythonを使って一週間でゲームを作るというPyweekのTalkを聞いたんだけど,あまり印象に残ってないので割愛させていただきます。

初日はちょっと早めに切り上げて,レンタカーを使って近場のショッピングモールにてお買い物。Galleria楽しいよGalleria。

明日はGuidoのキーノートやPython 3000のTalkがありますね。終わり次第リポートを書きます:-)。

開場のMarriotホテル
Googleは(Python使いを)雇います!
OLPCのマーク
Guidoに手渡されるOLPC
State of Zopeパネルのパネリスト
Webアプリフレームワークパネルの面々
Imageworks内の言語使用率グラフ
こんな映画でPythonを使っています的な図
Pythonは今時のCGアプリに搭載されてるんですよ的な図

2010-08-27 04:43