JavaOne2010まとめ テクニカル編
JavaOne2010が閉幕してから約一週間。
そろそろ落ち着いてきたので、JavaOneまとめを書く。
まずは、技術面で印象的だったことなどから。
Oracleはクラウドに向かう。
これまでの否定的な態度から一転して、
ラリーエリソンはクラウドを雄弁に語っていた。
今までは「クラウドと言うが、ただのWebアプリに過ぎない」と言っていた
否定的な態度は、Salesforceに対してぶつけつつ、
Amazon EC2のようなサービスこそがクラウドであり、
Oracleもそこを目指すと語った。
ところで、Oracle Open WorldのKeynoteで発表されたExalogicだけでなく
Coherenceというキーコンポーネントも元々Oracleは持っており
いつでもクラウドを推進できたはず。
ラリーエリソンの態度を一変させたのは、この時代の流れなのか、
Sunという「ハードウェアベンダ」を手に入れたためなのか、
ちょっと私には分からないんだけど。
HotRockitが今後の主流になる。
「Oracle's Java Virtual Machine Strategy」というセッションが面白かった。
http://d.hatena.ne.jp/cero-t/20100923/1285343999
HotSpot(旧Sun Java)に、
JRockit(旧BEA Java)の機能をマージした
通称「HotRockit」が、来年中に登場する予定。
いまHotSpotを使っている人たちは、
恐らく何の迷いもなく(あるいは気づくことなく)HotRockitに乗り換えるはずで、
今後、HotRockitがトップシェアになっていくはず。
特にJRockit Mission ControlやJRockit Flight Recorderといった
モニタリングツール、トラブルシューティングツールが
HotSpotでも使えるようになる所が最大の見どころ。
この辺りのツールに目がない人は、
今のうちからJRockitのツールを触っておくと良さそう。
Future Java : Yet Another Javaが求められている?
もう一つ面白かったのが
「The Next Big Java Virtual Machine Language」というセッション。
http://d.hatena.ne.jp/cero-t/20100920/1285149540
スピーカーのサイトでも詳細がまとめられていたので、そちらも紹介。
http://www.jroller.com/scolebourne/entry/the_next_big_jvm_language1
セッションも割と人が集まっており、
やはり「Javaの次」を求めている人達が増えてきていると感じる。
上に書いたセッションでは、「Java8(やJava9)がそうなったら、どうだろう」
という締めくくり方であったが、ちょっと僕はそうは思わない。
(どうもスピーカー自身もそうは思ってないみたいだけど)
Oracle自身がJavaのライバル言語を産み出すメリットはないし、
オープンソース戦略に打って出ることも、ちょっと考えにくい。
Next Big JVM Languageを提供するのは、やっぱりGoogleじゃないかな。
あるいは傑出した個人かも知れないけど。
誰かが動き出さなければ、いつまでも絵に描いた餅のままになってしまう。
JavaSE : やっとJava7が登場する。
いよいよ来年、本当に、今度こそ、Java7が登場しそう。
2011年半ばにJava7がリリースされ、2012年後半にJava8がリリースされる。
モジュラリティやクロージャーはJava8に回ったけど
Invoke DynamicなんかはJava7に入ってくる。
Invoke Dynamicは、特に動的言語の性能や、クラスのHotSwap辺りに影響が大きいので
Java7登場後の、周辺プロダクトのリリースが楽しみになる。
ところで、
ここ数年間のJavaの停滞感を、今後Oracleがどう払拭するかは、とても見もの。
たとえば、JCPとの連携をきちんと復活させ、
コミュニティから意見を広く集め直すとか?
悪い方の予想で言えば、(歩みを遅める理由になった)OpenJDKに対して
全くリソースを割かないようにして、事実上ストップさせるとか。
JavaEE : 次が見えてこない。JavaVE観点からの機能追加があるか?
JavaSEと違って、次の姿が見えてこないのがJavaEE。
もっと言えば(いつも言ってるけど)世の中がどれだけJavaEEに
期待しているのか、私にはよく分からない。
次が見えてこないJavaEEだけど、
個人的には、JRockit Virtual Edition(VE)の存在が、
JavaEEに影響するんじゃないかと思ってる。
OS不在で動くVEだからこそ、
「OSありの時にはできたけど、VEになってから出来なくなったこと」
なんてことが出てきて、その一部がJavaEEの機能に対するニーズになるとか。
仮にIBMなどのJVMベンダもVEに追従してきたら、
将来的には「JavaEE = JavaVE」ぐらいのイメージで
語られるようになっても、不思議じゃないかな。
JavaME : 奇策で逆転満塁ホームランを狙う以外ない。
将来が見えないどころか、なくなってしまうんじゃないかと思うのが、JavaME。
iPhone / Androidに対して、Oracle / Javaがどう打って出るのか
という話が聞けることを期待していたんだけど、全く何も出てこなかった。
HTML5周りの話が多少出てたけど、期待できるもんじゃない。
このままでは、iPhoneやAndroidには引き離されるばかりなので
(台数だけで言えば、まだJavaMEの方が相当上回ってるだろうけど)
追いついていくためには、何か奇策が必要。
たとえば、今から規格を統一し直して、
Java搭載ケータイで共通的に使えるアプリストアを構築するとか、
いっそAppleやGoogleに売ってしまうだとか。まぁあり得ないよね。
ただ、なんか大掛かりの手を打たない限りは、
ただガラケーでの既得権益を得るだけの
つまらないビジネスになってしまうんじゃないかな。