JavaOneを、太一視点で総括。

まぁ、ナニやら全体としてどうとか、そういうのは、他の人が幾らでもやってくれる筈なので、
僕が見て、感じたJavaOneについて、つらつら…と。


基本的に、太一は客として想定されているレイヤーにいない。

マニアックなセッションが、少ないです。
これだけの規模のイベントで、そんなのアタリマエだろ、と言われればその通り。


事前に、準備しなくてもそれなりに、中身が分るようになっているので、
聞き易いと言えば聞き易いのだけど、それだと、やはり中身が薄くなっちゃうよねぇ…と。
勿論、BOFなぞは、濃いものもありましたよ。
と言うか、英語でも日本語でも、やる事は一緒か、みたいな。
「セッション中にコミッタ狩り」
とか。


んで、僕にとって致命的な失敗かなぁ…と思っているのは、
JavaOne開催中に、やっていた宴会リスト、及び、
そこで、ふっかける議論の骨子を用意しなかった事。
あれだけ人が集まっているのだから、裏番組の存在を想定していなかったのは、
全くの手落ちであったと言わざるを得ません。
JSRのスペックリードや、eclipseのコア部分の開発者がゴロゴロしていた筈なのに、
彼らに、僕の考えている事をぶつけに行くという事を考えていませんでした。
JavaOneに行くというだけで、舞い上がって居たというのは1つの事実として、反省すべき点の一つです。

これからのJavaが向かっている方向なぞ。

ああ、何と言うOSGi。何と言うModularity。
しかし、話を聞けば聞くほどに、この部分は、.NETに大きく遅れを取っているなぁ…と。


「Jar Hell , Jar Hell」連呼ですか、そうですか。
下手すると10年単位の遥か昔に、「Dll Hell」等と言う言葉が囁かれていましたね。
それとナニが違うのか、サッパリ。
と言うか、全力でいいとこ取りします。
でいいじゃん…とか思うのだけど、そうはイキマセンって事なんですかね。


僕のごく個人的な意見としては、Javaの余りに単純なClassLoaderの仕組みは、
それはそれでいいんじゃないか…と思っています。
正直な話、NativeなJavaに@moduleとか持ってこなくてもいいんじゃないかなぁ…とか。
話を単純化すると、要は、言語仕様及びランタイムに新しいスコープを再定義するって、
面倒なだけで、そんなに良くないと思う。
MSのテクノロジは、MSが提供する仕組みやライブラリの中で、全てを閉じているからこそ、
そういう厳密なスコープの定義が必要なのであって、
OSSなライブラリやツールが主体のJavaには、そういうのイラナイと思います。


スコープ系の機能を使ってキッチリ設計、実装する事って、
大変な割りに、後で邪魔になるだけで、あまり報われないと思う。
ソースコードの再利用性単位を、コード実装中に定義するのって、そんなに必要な事かな。
別に今、既に実装済みの機能だけで、十分だと思うですだよ。
もし、どうしても必要だという事であれば、
Modularityを中心に据えた言語デザインをやり直すべきだと思うですだ。
いや、自分の箱庭作りたい気持ちも分る気がするけど、そうじゃないよねぇ…と思う。


JavaSE7とか、そっちの話は、面白いけど、これまた、どうなんだろう?みたいな。
具体的には、クロージャ。レキシカルスコープなぞイランよ。
いや、delegateやメソッドポインタなら、欲しいなぁ…と思う事あるけどさ。
multicatchは、ウヒョー!!と思ったりもするけど、キチンと例外設計されているなら、必要ない訳だし。

プレゼンのやり口なぞ

兎に角、物凄い勢いでまくし立てるスタイルのプレゼンが多かった様に感じた。
初めから、終わりまで、ずっと喋っている。
あれってどうなんだろう、僕が英語をキチンと聞き取れない事も手伝って、非常にシンドイ感じだった。
多分、日本語でもあの勢いで、只管単語を並べられたら、キツいと思う。
そして、僕がアメリカっぽいなぁ…と思ったのは、結構みんな訛っているし、
相当いい加減な文法で喋っている、QAに入ると本当にヒドイ。
でも、重要なのは伝えたい事があるって事と、気合い、だなぁ…と思った次第。