最近、とあるプロジェクトの応援で、ひさびさにUMLやらJavaやらに触れる機会を得ました。5年くらい遠ざかってたと思いますから、大分変わりましたね。

 ・EJBの仕様がずい分現実的なものになった。
  ほとんど、POJOと変わらなくなった。
 ・Javaアノテーションは、なかなか使えそう。
  結構、頑張りましたね。
 ・DIコンテナっ、てのをオベンキョしました。
  (Spring+Hibernate+etc)
 ・UMLは、ずい分、表現力が増した。
  でも、今のUMLには魅力を感じません。
  MDAの方向に行くしかないんでしょうね。
  それが正しい方向とは、あまり思えませんけど。

正直、言語としてのJavaには、まったく興味がなかったのですが、結構頑張ってるなぁ、と感じます。と同時に、RubyPythonをはじめとする最近(でもないか)のLL言語なら、もっとラクできそうなのになぁ、とも思います。

まぁ、LL系言語が大規模開発に適するのか、とか、そもそも開発者が集められるのか、とかいろいろと問題はあります。

それでも、最近のJava界隈は、フレームワークだらけで、かなりの学習コストを要求するようですから、LL系言語の生産性の高さとのトレード・オフで、もっと採用例を増やしてもよいように思います。