Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

QCon 2009 Tokyoに行ってきた

f:id:jyukutyo:20090409094746j:image
f:id:jyukutyo:20090409100027j:image

SpringのfounderであるRod Johnson、さらには御大Martin Fowlerが来日するということで、QConに行ってきた。
ミーハーなんで。

f:id:jyukutyo:20090410114047j:image
f:id:jyukutyo:20090410114158j:image

早期割引でも参加費2万円と決して安くはないんだけど、感想としては2万円の価値はあったと思う。
なんとRodと名刺交換して、さらにRodと居酒屋に行くというとんでもない展開にっ!


JSUG(Japan Spring User Group)で飲みに行くときに、英語を話せる方がRodを誘ってくださり、OKの返事が!
僕がRodのファンと知ってくださっていて、居酒屋ではRodの隣の席にしていただけました。
みなさんもRodと話したいことがおありだったと思うのに、本当にありがとうございます。


この席に座った以上、恥はかき捨ててRodとつたない英語で会話した。
思ったよりも伝えられたし、思ったよりも話していることが理解できた。
こういうことはやっぱり思い切ってやってみるもんだな。
もちろん技術的な深い話はできないけど、日本人との英語の会話でそれは求められてないと思うし。


お互いに理解しよう、伝えようという気持ちがあれば会話は成立する。そう感じた。
ちなみにRodは1日目に北京から日本に来て、2日目の朝講演して昼にサンフランシスコ便に乗るという多忙なスケジュールだそうだw
日本ではSpringがあまり使われてないことを気にしてた。

f:id:jyukutyo:20090409213202j:image
f:id:jyukutyo:20090409184302j:image


ちなみにRodはUIとしてはFlexがいいと言っていた。
Flex + Spring MVCだと。Spring2.5からはFlexのサポートが充実したと。


Floyd Marinescuも一緒に飲んだ。
InfoQは日本で広まっているのか、どうしたら広まるのかとか聞かれた。
日本食が好きらしく、箸の持ち方がすごく上手だった。
焼酎が大好きらしい。
Floydはとても気さくで話しやすかった。

ビューティフルコード(まつもとゆきひろ)

f:id:jyukutyo:20090409112414j:image

ご存知Matzさん。
コードには美がある。日本語で表現すると用の美だ。
プログラマはアーティストだ。
ただし現実には納期やコストなどの制約があるけど、そうした制約があっても創造的な職種はあって、たとえばコピーライターとかもそうだ。


まずは個人でアーティストである自覚を持って日々の仕事をこなしていくことが大切。


@ITに詳細なレポートがある。
「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 − @IT

Open Webの進展とその後(Dylan Schiemann)


DojoのfounderによるWebの各UIの分類。


ところでこのDylanと1日目終了後のパーティで10分くらい話した。
「Are you java developer?」みたいに聞かれた。
話してたら、DojoのTシャツくれた。テラいい人!ステッカーもくれた。

prototypeやjQueryが構文拡張的な部分であるのに比べて、Dojoはツールキットとして提供していることが特徴だと。
僕の理解ではDojoはYahoo UI Libiraryみたいなイメージだけど、違うかな?
いい人だったので触ってみようと思ってる。


FlexSilverlightというのはいいプロダクトだけどベンダー手動だと。
特に心に残ったのは「Is It The Web If You Can't "View Source"(ソースが見れないなんてWebじゃない)」かな。

f:id:jyukutyo:20090409135421j:image
f:id:jyukutyo:20090409142337j:image

クラウドの技術的な特徴について(丸山不二夫)

f:id:jyukutyo:20090410112137j:image

丸山先生のセッションは何度か聞いたことがあるけど、今回のが一番よかった。

クラウドをプログラミング(Gregor Hohpe)


f:id:jyukutyo:20090410134010j:image
f:id:jyukutyo:20090410143219j:image

今回のQConで一番よく聞いた用語は「クラウド」だったと思う。
クラウドはバズワードで大規模並列処理のインフラ、程度の認識でいたんだけど、そうじゃなかった。
クラウドなめてた。


1つのパラダイムシフトなのかもしれない。
クラウドでは今までのプログラミングモデルと大きく異なってくる。
並列処理を基礎とするということは、従来の逐次処理を基本としたモデルと大きく異なるためだ。
そして、BigTableなどのkey-valueモデルのストレージもRDBMSと大きく異なる。
現に、mixilivedoorではtokyo tylantやmemcachedを使ったインメモリのkey-valueモデルを使っているわけだし(認識合ってる??)。
あとCAP定理(Consistency, Availability and Partition-Tolerant)も何度も出てきた言葉。


プログラミングモデルが異なれば、もちろん用いられるプログラミング言語も異なるわけで、
構造化からオブジェクト指向のようなことが今怒りつつあるのかもしれない。
ただし、注意してほしいのはプログラミング言語は厳密な意味でパラダイムシフトしないということだ(知識の断絶がないから)。
オブジェクト指向は構造化を下地にしているし、次もオブジェクト指向を下地にするだろう。


ここからは僕が思うところだけど、CPUのシングルコアのクロックアップが限界に達し、マルチコア/マルチプロセッサが進んでいるということも並列処理への流れを加速させそうだ。
そして、そこには「関数型」がプログラミングのキーワードになると思う。
並列処理にもっとも向いているのは関数型だからだ。
関数型言語そのものが主流となるかどうかはわからないけど、関数型のエッセンスというのは今より多く取り入れられて行くはず。