#wlstudy でお話ししてきた。

ということで、 #wlstudy でお話ししてきました。
内容としては、jsf-scrumtoys-refactoredglassfishからweblogicに移植してきたというもの。
ついでに、JavaEE6の技術要素も紹介できたらいいなという感じで。

※発表に使用したスライドに関しては後日Oracle内にて添削された上で公開していただけるらしいので今はなし。

今回、お話させていただいて思ったのは、実際にJavaを使って開発・保守している方々は思ったよりも昔の仕様(もしくはライブラリ)に基づいてシステム構築を行なっているのではないかということでした。

参加してくださる方々として次のような人たちを想定してスライドを作成しました。

  • JavaEE5もしくはSpring、Seaserを利用したことがある。
  • JavaEE6については名前は聞いているけどあまり知らない。
  • DIについて知っている、もしくは使っている。
  • JDK6(もしくはJDK5)を使用しているがJDK7をそろそろ使いたい。

話している中で、CDIについて話している中で思ったよりも反応が悪いことに気がついたので途中から、コレ知っている人ー?みたいな形でお伺いを立てながら、知らない人が多い場合は途中で追加の説明を行うという形を取らせていただいたのですが、その時に出てきた像は以下のとおりでした。

  • JavaEE5もしくはSpring、Seaserは聞いたことがあるか知らない。
  • JavaEE6については名前は聞いているけど知らない。
  • DIについて知らない。
  • アノテーションを知らない。
  • JSFって何それ?

JavaEE5ですらすでに5年以上前の仕様であり、SpringもSeaserも加速度的に流行ったのは同じ頃と考えればさすがにそれくらいは使っているだろうと思っていたのですが、そんなことも無いようで・・・・・
途中で完全にテンパってましたorz

多分JavaSE1.4で開発されている方々も多いのだろうなぁ。
Java2というくくりの中だとJava1.4は非常に良いと思っています。
また、Java5になって新しい構文が入ったときにJava1.4でいいじゃんと思って止めてしまった人も多いんだろうなぁと。
以前、Java1.4とJava5のJVMの性能を比較した時も実はJava1.4のほうが性能が良いことがわかっていたりするので、実はJava5にアップデートするメリットはデメリットに比べて薄かったのではないかとか。
一度停滞すればそのあとは停滞し続けるわけで。

なので、JavaEEを仮に広めたいと思うのなら以下のような前提が必要なのではないでしょうか。


という感じ。
Javaを広めるのは難しい。


ちなみに、特に何が悪いのではなく、現実は思ったよりも厳しかったという印象です。
気分を悪くされた方がいたら申し訳ない・・・・・

最後に、参加してくださった方々有り難うございました。
初の発表ということもあり、いろいろテンパってしまい、すみませんでした。
次はもっとうまく発表できるように頑張りたいと思います。

ちなみに、今日紹介した本は以下のとおりです。

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

Oracle WebLogic Server 11g構築・運用ガイド

Oracle WebLogic Server 11g構築・運用ガイド

Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava (Programmer's SELECTION)

Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava (Programmer's SELECTION)