JavaOne Tokyo 2012 Day 2

JavaOne Tokyo二日目のレポート。

Technical Keynote

1日目のStrategy Keynoteと同じく、特に目新しい内容は無し。
ちょっと面白かった(?)のが、Sponser Keynoteに登場した富士通のセッション。
話のネタに初音ミクニコニコ動画を持ちだして、なんとか聴衆を惹きつけようと頑張ったしたみたいですが、やはり途中退出した人が多かったようです。あの手のセッションをするのはなかなか難しいものですね・・・

Java7 Invoke Dynamic

Java7で導入されたInvokeDynamicの話。InvokeDynamicはJVM動的言語をサポートする機能です。
このセッションに参加した目的は、自分が最近業務でずっとRubyを触っているせいもあって、InvokeDynamicでJRubyがどれほど早くなるのか?というのを知りたかったから。
結論からいうと、InvokeDynamicに対応したJRuby1.7とJava7をあわせることで、CRubyよりずっと早くなることが分かりました。JRuby1.7の正式リリース後は、JRubyに注目です。

Project Jigsaw:Putting it all Together

Javaの依存関連を解決するための仕組み。またはライブラリ管理。ただ自分はイマイチ頭に入ってこなくて難儀しました・・・
module-info.javaに関連するjarとかを記述することで、モジュールの管理を楽にする仕組みになってるようです。
しかし、これによってMavenとかを使わなくてもよくなるわけではなくて、モジュールをダウンロードする部分などはJigsawではカバーされないようです。

JSR353:Java API for JSON Processing


Twitterのイケメンエンジニアこと、山本裕介さんのセッション。立ち見が出るほどの盛況でした。
前半はJSRとJCPとはなんぞや?という基本的な話からスタート。
JCPとはJava Community ProcessJavaの仕様策定の標準化機関。
JSRとはJava Specification Requests。ここで提案された仕様が、他のJCPメンバの投票によって、本当に必要かどうかが判断され、必要であると判断されればJSRの番号が割り当てられる、という仕組み。
ここから、1.メンバの選定、任命 2.詳細な仕様の策定 3.仕様の投票 4.参照実装の作成 5.TCKの作成
と進み、Javaの標準APIになるわけです。

JSR-353で中心となるクラスはJsonObject*1。このクラスからメソッド呼び出しによって、JSONの値を読み書きします。まだまだドラフト段階なのでクラス名やメソッド名はいまいちでしたが、APIを通じてTwitterの機能を提供しているTwitter社にとっても、JSONに関連するJCPは大変重要であるとのことで、これから山本さんが仕様の策定をどのようにしていくのか楽しみです。*2

あわせてよみたい
Togetterまとめ:JSR 353 : Java API for JSON

Learn how the JVM is fundamental to our Architecture

TwitterのアーキテクトRob Benson氏のセッション。
前半は、東京入り初日にOpenHouseで聞いた話と被ってました。しかし後半はしっかりとTwitterアーキテクチャについて、話をしていました。
JVMの話とかはあまりなくて、純粋にTwitterの仕組みを、一部コードを交えながら紹介。出てくるコードもほとんどScala
後で聞いた話ですが、ほとんどTwitterの新入社員研修で話す内容らしいですw

番外編:JJUG Night Party

JavaOne終了後にJJUG主催で行われたパーティー。実に楽しかったです!
いままでTL上でしか面識のなかった方や、去年のサンフランシスコでのJavaOneでお会いした方々と再会したり。
途中にはビンゴゲームとかあったりしました。

これはビンゴでちょんまげヅラをゲットした関ジャバの谷本氏www
しかも、ろくろwww

そして最後の締めは、我らの王子こと、Oracleの寺田さん。
今のJava開発者がJavaを見捨てない理由のほとんどは、寺田さんがいるからだと思ってるのは、自分だけではないはず。それは寺田さんが、本当にJavaを愛し、Java開発者を愛し、日本全国を一人で駆けまわったからだとおもうんです。そしてその姿をみんなしっかりと見ていた。だからこそ、自分たちJava開発者もそれぞれのコミュニティを通じて、Javaに貢献していけるんだと思うのです。
最後には会場から大きな、よしおコールが!そして感極まって、涙ぐむ王子!

この後には寺田さんの労を労って、みんなで胴上げしましたww
とにかく寺田さん、本当にお疲れ様でした!!

#てらだよしおありがとう

Conclusion

さて、こうして2日間にわたって開催されたJavaOneは終了。7年ぶりの東京でのJavaOneということでしたが、多くの参加者が集まり、大成功といっていいのではないでしょうか。
ただ次回(来年)はあるのか?といったら、自分は難しいようにおもいました。もちろんOracle社のJavaに対するスタンスが変わるかもしれないですが、現状では大きな変化というのはなさそうですし。
しかし、自分たち開発者が所属しているコミュニティを通じてなど、様々な手段でその声を届けていけば、それはOracleでも無視できないような、大きな意味を持つようになります。絶えず、自分たちの想いを伝え続けることが大事なんじゃないか?と帰りの飛行機のなかでぼんやり考えました。

来年なのか、再来年なのか、それとも何年後かわかりませんが、また皆さんと逢える日まで。
See You Next JavaOne!

*1:これ名前イケてないよね?JSONObjectでしょ?

*2:きっといい感じにしてくれるはず!w