netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-07-13 [長年日記] ▲
_ [近況] 講演@UBC ▲
Bjorn Freeman-Benson と Ward Cunningham の2人の講演.せっかくなので聞いてきた.2人で交互に喋るという形で流れるように喋っていく見事なプレゼンテーションだった.
講演のテーマは,協力(collaboration)って大事だね,というもの.2人の経験によると,プログラミングは最初は「自分だけ(me)」からスタートして,us(グループ開発)→you(商用ソフトの開発)→we(顧客と一緒に仕事する)→all(コミュニティでの協力)と進んできている.他人を信頼して協力することで,より良い成果を得ることができるようになっている.
1つのアイディアというのは,技術(technology)と方法論(methodology),アイディアを支えるコミュニティの3つによって成り立つのではないかと考えられる.たとえばJUnitなら,技術的には小さなフレームワークで,背景にはテスト駆動型開発という方法論があり,1つの開発チームが協力してそれを実践することで,より安心してソフトウェアを変更できるようになる,とか.
で,彼らは今は Eclipse Monkey というのに注力しているらしい.サイトはhttp://eclipse.org/dash/.端的には,Eclipse用の「ちょっとした改善」をスクリプトにしちゃおう,というもの.たとえばディレクトリツリーは最初に全部開いてる状態がいい,とかいうのを短いスクリプトで制御できるようにEclipseの環境をオブジェクトモデルとして提供しようというもの.短いスクリプトをみんなで公開して共有すれば,徐々に改良されながら便利な環境になっていくはずだし,「ちょっとした改善」も積み重なってくれば,開発者にとって便利な機能が分かってきて,それがAPIの洗練なんかにも繋がると考えているみたい.技術/方法論/コミュニティには,スクリプティング/リファクタリング/ブログなど,が対応する.
Eclipse の API が複雑化していることについては,開発者が学習する機会を設けるしかない.これについては独習用の教材(experience guide)を提供することが大事なのではないか,と言っていた.Eclipse の API を使うプログラミングの教育を scalable-personal という軸で考えたときに,ペアプログラミングは一番 personal 寄りで密度は高いけれど同時には1人しか相手にできない.パターンは逆に一番 scalable で,書籍なんかにすれば広く伝えられるけど,それだけではプログラムは書けない.wiki での情報交換ならもう少しだけ personal 側に寄るけれど,やはりまだ足りなくて,良い教材をコミュニティ(coach network)が提供して開発者が自分で経験を蓄積できるようにすべきだと考えているらしい.
……といったような感じで講演は1時間ちょっとだった.話された内容はだいたい理解したつもりだけど,多少ニュアンス違ってたりして.講演は,論文と違って,後から内容の正しさを確認できないのが厳しい.
余談: Monkey のスクリプトが Ruby や Python ではなく Java Script ベースなのは,熱狂的信者も強い反感を持った人も特にいなくて無難でしょ,とのこと :)