Javaのサーバーサイド開発のターンアラウンドタイムは遅すぎ
Rails: Where are the Implications for "No Deploying"?
http://www.patrickpeak.com/comments/patrick/Weblog/rails_where_are_the_implications
全くもってその通り。開発がやる気なくなる位、遅い。
Javaでのサーバーサイドの開発モデルの最大の欠点はDeployをしなければサーバーサイドアプリのテストができないということです。これが開発のターンアラウンドタイムを極めて遅くしてしまっている。この一つの解がHot Deployなのだけれど、これもまたちゃんと実装しているものが殆どない。
コンパイルして、デプロイして、テストなんて時間がかかりすぎててやってられないわけです。修正したらすぐテストがしたい。これがJavaではできないんですね。
DIコンテナの登場でDeployしなくてもテストができる範囲が大分増えましたが、依然としてDeployしなければテストができない部分が多いわけです。
実開発では、Webコンテナ、EJBコンテナの挙動の違いにどっぷりはまりながら、テストをしなきゃいけないので、Deployしなきゃいけないなんていうのは地獄なわけです。
だから、Javaのサーバーサイドの開発は、RubyやPerlでの開発に比べて時間がかかりすぎます。コンパイル、デプロイ、テストというモデルで開発速度が何十倍からも遅くなってしまう。
しみじみ、Hot Deployの機能が発展してくれたらなと思う今日この頃です。