Python Workshop the Edge 2007 に行ってきました

6/30 に開催された Python Workshop the Edge 2007 に行ってきました。


Python のことは、作者が Google にいるという程度のことしか知らないにも関わらず参加してしまったのですが、このイベントで、Python の他のスクリプト言語と比べた特徴や、開発環境、Web アプリケーション用フレームワーク、周辺の雰囲気などをなんとなくつかめたので、有意義な一日でした。


以下、参加したセミナーの感想とメモです。

荷電粒子加速器制御システムでのPythonの活用 - 山本 昇さん

高エネルギーがなんのことか理解できず、全くついていけないまま終わってしまいました。なぜ Perl じゃなくて Python を?という質問に、Perl は読みにくいが、Python は分かりやすいというのもあるが、実際は私の趣味と答えていました。

CG映像制作とPython 株式会社セガ VE研究開発部での事例 - 齊藤 淳さん

セガの VE(Visual Entertainment)研で CG を作成している斎藤さんの発表。CG 界では Python が標準らしいです。そうだったのか。

VE 研について
  • エンジニアを多く抱えている。12 名。(業界では珍しいらしい)
  • 海外に追いつきたい
  • CG 業界
    • Python が大活躍。海外の大手スタジオでも使われている
    • ツールは Maya
Maya について
  • 3D ソフト
  • VE 研のメインツール
  • 拡張性
    • MEL というスクリプト言語がある。複雑なことには向いていない言語仕様。
    • Python が使えるようになった
  • Python の恩恵
  • Python の不満点
    • GUI。Maya の GUI を使うことになるので自由度が低い(?)
    • 不安定
Plone による情報共有
LL についてその他の話題
  • C++Python でコンポジットツール(?)を開発している
  • デジタルアセット管理システム(?)
    • 分業、データの受け渡し、バージョン管理
    • Ruby on Rails を使用
  • ゲーム開発にも Python は有用
  • セガは全体的に Python 率が上がっている

Pythonコード添削道場

きれいで読みやすくて分かりやすくおもいやりのあるコードを書くためのお話。Python のコードを書いたことがない時にこのような発表を聞けたのは良かった。基本的な考え方は、どの言語でも同じだろうけど、Python のコーディングスタイルには PEP 8 というのがあることや、PEP スタイルを学ぶために、標準モジュールを読むといいということを知りました。

教育現場におけるPython の利用 - 菊池 靖さん

大学でプログラミングの授業をしている菊池さんのお話。単位がもらえればいいというモチベーションの低い学生や旧態依然としたカリキュラムに困っているが、次の点で Python を採用しているそうです。

  • 学習しやすく、かつ実用性もある
  • インデントがそろってないとコンパイルを通らない、可読性が良い(教員のため)


僕も、情報系ではありませんが、不真面目な学生だったので、複雑な気持ちでした。

プロジェクトにコンパイルはいらない - エマーソン ミルズさん

YAPC で Amazon の EC2 を紹介していたエマーソンさんです。新しく会社を作ったらしい。で、開発人生を劇的に変えたというスクラムのお話。

スクラムとは?
主概念
  • プラットフォームは進化する
  • 常にコミュニケーション
  • 開発をより人間的に
  • ユーザの意識、参加
  • 開発プロセスに客の声を取り入れる(最初と最後だけじゃなくて)
非滝的(非ウォーターフォール的)
  • スペックは途中で変わる
    • 期間の長いプロジェクトはスペックがずれる。ニーズが変わる。
  • タスクを同時変更
    • デザインしながら開発
    • 予算・期間・開発を満たす
    • トヨタ方式
  • 失敗を許す
    • バグの洗い出しにつながる
プロジェクトの抽象化
  • 開発を楽しくする
  • 細かいスペックよりゴールを決める
  • スケジュールは小・中・大・特大に
Python との関係
  • 抽象化
  • 開発サイクルの短縮
スクラムのここが違う
  • スケジュールの見直し
  • 開発チームが中心
  • 2 〜 3 週でテスト
    • バグがあっても、長くて 3 週間で見つかる
    • 時間が経つほど、バグが見つかってもどこを直せばよいか探し出すのが難しくなる。
スクラムをやってみよう
  • 基礎
  • 流れ
    • 毎朝スタンドアップミーティング
      • 昨日やったことが分かれば重複しない
    • 毎日コミット
    • 毎晩進捗報告
  • ポイント
    • 2,3 週間のスケジュールしか組まない
    • 開発の邪魔は許さない
      • 進捗状況は朝礼に参加すれば分かる
      • 集中力が一旦途切れると開発に戻るのに時間がかかる

BOF : Python国民投票 - 原 弘さん

事前に行ったアンケートの結果発表です。気になったところのメモ。

Pythonを使い始めたきっかけを教えて下さい。

モンティーパイソンの本だと思って買ったら Python の本だったという回答が!

Pythonを使うときのプラットフォームを教えて下さい。
  1. Linux
  2. Windows

OSX は思ったより少なかった。

一番お気に入りのPython Webアプリケーション・フレームワークを教えて下さい。
  1. Django
  2. TurboGears
  3. Zope

の順だったかな。

Pythonでの開発環境を教えて下さい。
  1. Emacs
  2. vi

Emacs が多かった。

Pythonを最も活用している場面を教えて下さい。
  • CG 業界では標準
  • 社内教育。インデントしてくれない新人教育に。

どちらも今日のセミナーに通ずる内容でした。

Pythonのどこがすきですか?
  • ライブラリがしっかりしている
  • 一つのことをするのに一つの方法しかない(Perl の逆)
  • 誰が書いても同じようになる

そういえば、DHH は Ruby に同じようなことを行っていました。

Rubyで書いたものはどれも,同じことをする場合はだいたい似たように見える。この「統一感」がすごく重要でした。

#2 Ruby on Rails作者 David Heinemeier Hansson(前編) RubyでRailsを書いたわけ:小飼弾のアルファギークに逢いたい♥|gihyo.jp … 技術評論社
Pythonのここらへんどうにかしてほしいってところありますか?
  • 日本のユーザが増えて欲しい
  • サードパーティライブラリのレポジトリが欲しい(CPAN のような)
  • 文字コードの扱いをしっかりして欲しい
  • 日本語の書籍をもっと欲しい
Pythonのdebug方法を教えて下さい。
  • print 文
  • pdb

色々なデバッグ方を知りたかったが、みんな同じなんだな、とのことでした。

あなたのPythonの情報源やお気に入りのWebサイトを教えて下さい。

常山日記 を挙げていた人がたくさんいたとのこと。


pyObjC で SkypeBot をつくってみよう - ひらた だいじさん

OSXSkypeBot を作ってみようというお話。

Python on Mac OSX
Skype について
  • P2P
  • VOIP
  • ボイス機能以外に、チャット・グループチャット機能が強力
  • API がオープン

その後、実際に作る説明に入りましたが、内容は省略。TwitterPod などを作っている drikin さんのhttp://drikin.com/dorio/を参考にしたそうです。