一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

なんでJavaで開発すると生産性が低くなるのか

 ふむふむ。

結局、テストがあまり必要にならない規模で、デバッグリファクタリングをあまりやらないなら、Railsは生産性が高いと思う。でも、それなりの複雑性が出てくるとテストがより多く必要になってくるので、生産性はJavaとあまり変わらなくなってくるはず。
小規模な開発だとRailsJavaより圧倒的に生産性が高いかというと、今のJavaには、HOT deployのできるSeasar2がある。フレームワークのできは、SAStrutsのドキュメントを見ていただければ、Rails同様の生産性が出せることもわかってもらえると思う。

 型が有る無いだとか、テストがどうのこうのと色々言われてますが、そんな問題はたいした事じゃあないんだ。去年、低スペックのマシン(CUP:セレロン2G/MM:512M)で仕事をさせられ、ますます確信をもったことが答えなんだ。
 Javaで開発すると生産性が低くなるのは、Eclipseが遅いからだ』
ということ。結局、業務系のシステムはJavaで開発することが多いんですが、権力を握っているPMやリーダーが年寄りだと、「マシンのスペックが低い=生産性にモロ影響が出る」ということを理解できない人が多かったりするんですよ。最近個人情報流出だのなんだので自分のマシンを持ち込めないプロジェクトばかりなので、偉い人がGoサインを出さないと古いマシンで作業せざるを得ない。
 マイクロソフトオフィス・Oracleのクライアントアプリ・アンチウィルスソフトや各種ツール類が入っているPCで、エクセル・ワードのドキュメントを3〜5個ぐらい開きつつ、様々なプラグインを入れたEcipseを起動しWebサーバを動かしながらコードを書いてブラウザで挙動を確認しなければならない。低スペックのマシンでこれをやると死ねる。ソースのタブを切替えるだけで数秒かかったり、コンパイルしただけなのに数分待たされたり、たまにEclipseを普通に起動させただけなのに、30分ぐらいかかったこともある。これじゃあ生産性が上がるわけがないんです。その点RoRなら開発用のサーバをそこそこのスペックにしておけば、快適にコードが書けるわけです・・・と、生産性が低くなる理由を書いてみたけれど、レベルが糞低いな。まぁ技術的なうんちくを書く人はたくさんいるので、アナログな理由を書いてみた。
 とにかくですね、プログラマの権利宣言の2番目が厳守される世界になったのなら、Javaでの開発において生産性が向上することは間違いないんですよ。