«前の日記(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」はなかなか面白かった。冷静に考えるとかなりあちこちおかしいんだけど、 見ている最中はそれは気にならなかった。 もうちょっと穴がないストーリー構成にできたら名作になったような。

本日のツッコミ(全9件) [ツッコミを入れる]
_ RIKKUN (2005-08-06 02:43)

 Pythonが早くなるんだったら、RubyやPerlでも同じコトしたらどうなるんだろう?と素朴な疑問を持ちました。<br> PerlならActiveStateあたりがやりそうだなぁ。

_ Ruby.NET コンパイラ (2005-08-06 14:56)

http://www.ipa.go.jp/jinzai/esp/2004youth/mdata/98-09.html<br>未踏ユース。

_ shugo (2005-08-06 23:33)

上のはRubyに似た言語のコンパイラなので、IronPythonとはちょっと位置付けが違いますね。<br>Google Summer of Codeでも二つくらいRuby.NETをやってたみたいですけど、どうなったんだろう。

_ Florian Gro娼ホ (2005-08-07 12:16)

Sorry for posting in English.<br><br>I will be implementing parts of the run time for the Mono Ruby.NET as part of Google's Summer of Code project.<br><br>While I'm not the compiler guy I still think that making Ruby.NET faster than the C one is very hard in the general case, because a lot of the optimization that is done by the VM only applies in static situations. E.g. if you want to be able to change the definitions of methods at run-time they will never be inlined. I think performance benefits will not be seen with this implementation at first (unless the user agrees not to do some specific things by e.g. putting a Fixnum.freeze at the beginning of his source code.)<br><br>The proposals from me and the compiler implementer are available:<br><br>* http://jaen.saul.ee/index.php/2005/07/01/rubynet-proposal/<br>* http://flgr.0x42.net/proposal.txt<br><br>There is also a few other people who are willing to volunteer with this project. Over all motivation has been great.<br><br>However, work on the run time has not even started yet, because the compiler is not yet ready. I have so far only worked on the implementation of JScript.NET. I hope this changes soon.<br><br>If you have any questions about the project or have suggestions or ideas that could help out with the implementation feel free to contact me. It is very welcome.

_ Jaru (2005-08-08 07:58)

http://www.asakawa.net/ruby/rubynet_memo.html<br>↑どのprojectかわからないですが。

_ jijixi (2005-08-10 21:14)

>フランス人ハッカーはどうしてみんな関数型言語(特にOCaml)が好きなんだろう。<br>日本人ハッカーが Ruby を好き(?)なのと同じかも :-)

_ おくじ (2005-08-11 23:31)

それは大学が原因。最近でこそJavaが教材に使われるようになったりして変化してきてますが、以前はメタプログラミングを一切認めないという風潮が強くて、うちのCEOなんか仕方なく日本で博士論文書き上げたぐらい。数学が強い国なんで、しょーがないのかも。<br><br>日本人にRuby愛好家が多いのは多分にまつもとさんが日本人であるということが影響している気がするので、ちょっと違うような。

_ jijixi (2005-08-12 18:57)

OCaml に関しては、自国語で読める文献が多いって理由もありませんか。<br>オライリーの OCaml 本も、最初はフランス語だったし。

_ yoriyuki (2005-08-19 04:02)

用語が違っているのかもしれませんが、メタプログラミングを認めないこととOCamlとはどんな関係があるのですか。もう少し説明を頂ければ幸いです。

お名前:
E-mail:
コメント:
[]

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

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.