«前の日記(2005年08月01日) 最新 次の日記(2005年08月03日)» 編集

Matzにっき


2005年08月02日 OSCON2005 2日目 [長年日記]

_ [OSS] OSCON会場へ

ホテルからTri-met2駅分歩いて会場へ。 本当は朝8時半からはじまるチュートリアルに最初から参加しようと思ってたのだが、 とても起きられなかった。結局会場に着いたのは10時頃。

会場でDave Thomas, Rich Kilmer, Jim Weirichに会った。 昨日のRubyのチュートリアルは盛況だったようだ。 David Heinemeier Hanssonの「Ruby on Rails: Enjoying the Ride of Programming」は立ち見が出るほどで、 今回のチュートリアルの中で一番人気だったようだ。おそるべしRailsパワー。

その他にも書籍即売会会場でProgramming Rubyは月曜の夜だけで売り切れてしまったとかで、 US(海外と一般化しても良いのだろうか)でブレークしつつあるのが感じられる。 Dave Thomasにも「今年、Rubyの年になるぞ」と言われて恐縮する。 でも、どっちかっていうと「Railの年」じゃないかなあ。

_ [OSS] IronPython 1.0: Python on the .NET Framework

IronPythonのチュートリアルに出る。

.NETプラットフォームは動的言語に向かないと言われていて、 それを証明しようと思ったら、不幸にも動的言語であるPythonが高速に動作してしまった(C言語で記述されたオリジナルPythonの1.7倍の性能)、という話。その他にも.NETと連携していろいろなことができます、とか、 .NETのおかげで手軽に高速に実装できた、とか。

後は高速化のためのTipとして以下のものをあげていた(配布資料から引用)。

  • Use native CLR constructs whenever possble
    • Ludicrously optimized machine code
    • But must be used creatively to match Python's semantics
  • Create fast-paths for common cases
    • Python scripts to generate C# code at development time
    • Reflection.Emit to generate IL at runtime
    • Some paths might be worth writing by hand
    • Challenge is to figure out what merits a fast-path
  • Include fall-backs to fully dynamic implementations
    • General-purpose support for less common cases
    • Handles Python's fully dynamic semantics

要するに良く実行されるものはカリカリにチューンするが、 たまにしか実行されないものは遅くても構わないので完全に動的に実装する。 その割り切りによって十分高速に実行できる、というのが主張だ。

もっとも、彼らが1.7倍(最新版では1.8倍)高速であることを試したPystoneは

  • 小さい
  • オブジェクト指向機能をほとんど使っていない

ので、実際のアプリケーションではまた違った挙動を示すかもしれない。

_ [言語] Neko

Rich KilmerからNicolas Cannasseを紹介してもらう。 彼はFlash Action ScriptコンパイラであるMTASCの作者なのだが、最近はNekoというVMを開発中なのだそうだ。

このVMはわりと高レベルな命令セットを持つもので、まだJITとかはないが高速なのだそうだ。 実際、IronPythonのセッション中に「(IronPython 0.9ではCPython 2.4の1.8倍だという)PystoneをNekoに移植してベンチマークしたら、3倍の性能が出た」とうれしそうにしていた。

正直、彼のフランスなまりの英語はヒアリングが難しいのだが、 日本人のガールフレンドがいるということで、突然流暢な日本語で「次、どこにいこうか」とか言うので びっくりする。

ということで、やはりNekoは日本語の「猫」から来ているそうだ。みんな「にこー」と発音していたけど。 最初、Nickelのことかと思ったよ。

Nekoは現在中間言語(ほとんど高級言語だけど)のコンパイラとバイトコードエンジンからなっており、 コンパイラの方はOCamlで実装されている。フランス人ハッカーはどうしてみんな関数型言語(特にOCaml)が好きなんだろう。

_ [OSS] RedRobin

昼食。Dave Thomas, Rich Kilmer, Jim Weirich, Glenn Vanderburg, Nicolas Cannasseの面子で、 RedRobinというハンバーガーショップへ。ハンバーガーといってもアメリカはスケールが違う。 日本のマクドナルドやモスバーガーで見掛けるようなハンバーガーの数倍の大きさがある。 食べたら夕食まで食べられなくなってしまった。

追記

入口で席が空くのを待っている間、Dave Thomasから「今度のデジカメはどんなのだ」と尋ねられる。 「?」という顔をしていると「だって毎回デジカメが違うじゃないか」とのこと。 そういえば、最初のRubyConfではRICOH DC-7を、次のではCASIO Exilim M2を持っていってたような。 そんな細かいことまで覚えてるのね。

で、ちょうど持っていたNIKON COOLPIX 5200を見せたら、 「ぜんぜん小さくないじゃないか」と不満そう。なにを期待しているのだ。 やっぱCASIO EX-S500を買っていくべきだったか。

なんてね、そんなに頻繁に買い替えるのは大蔵大臣の許しが出そうにない。

_ 買いもの

明日からは通常のセッションが始まり、見たいものが目白押しなので、 今日のうちにおみやげを買おうということでポートランド中心街に出かける。 MAXに乗ればすぐだ。

で、結局家族のためにDiscovery Channel Storeで玩具やらアクセサリーキットやらを買い込む。

_ [OSS] Tuesday Evening Extravaganza

火曜の夜のイベント。Ruby関係者とおしゃべりしていてちょっと遅刻していったら、 いきなりDHHの名前が呼ばれる。Google/O'Reilly's Best Hacker of the Year Award受賞だそうだ。 おめでとう。

そういえばDHHと最初に挨拶したときに「デンマークで会ったよね」と言われた。 確かに顔に見覚えがある。たぶん2年前に2回目にJAOOに参加したときにレセプションかどこかで 少し話をしたような気がする。あのときは確かRubyは使ってなかったと思うけど。

ま、とにかくRuby陣営からBest Hackerを出せるということは光栄なことだろう。

その後、Larry Wallの「State of the Onion」。このタイトルで何回目の話だろう。 今回はお子さんも連れてきていて(二人連れてきていたようだ。4人のお子さんのうち何番目かは不明)、 お子さんの作ったカードゲームをベースに話をしていた。

それからPaul Grahamの話。 仕事ってのは相当な割合の「無駄に見えること」から成り立っていて、 でもそれを正面切って認めることができないでいた(遊んでることになっちゃうから)。 オープンソースやブログは、その無駄に対する肯定を含んでいるから重要だ。 とかいうような話。

で、ここで中座してしまった。そろそろ木曜日のスライドの準備が気になるしね。 ホテルに帰って、テレビを見ながらスライド書き。

テレビで見た番組は

  • 鋼の錬金術師
  • カウボーイ・ビバップ
  • Forgotten
  • なんかカードでバトルするの(遊戯王ではない)

日本のアニメが多いのは前からだが、ますます増えた気がする。

「Forgotten」はなかなか面白かった。冷静に考えるとかなりあちこちおかしいんだけど、 見ている最中はそれは気にならなかった。 もうちょっと穴がないストーリー構成にできたら名作になったような。


«前の日記(2005年08月01日) 最新 次の日記(2005年08月03日)» 編集