―マネージャのための実践移行ガイドを読んだ。これは題名のとおりJavaからRubyへの移行を強く勧める本。前半はJavaよりRubyがいかに開発効率が高いかが述べられ、後半は会社組織においてJavaからRubyへの移行を阻害する勢力への対応戦略が述べられている。その後半で、このブログの前回記事のJRubyそしてJython中のメインテーマのJRubyについて詳細に記述されているのには驚いた。私はひとりでソフトウェア開発をしているので、この本の後半は興味は無い。開発言語・フレームワークの決定権は私だからだ。前半の、JavaよりRubyがいかに優れているか、を興味深く読んだ。ある動的言語(TCL,REXX,Python,Perl)と静的言語(Java,C++,C)の生産性を比較した研究報告によれば、なんと一番生産性の劣る言語はJavaで、最も高いのはPython。その生産性は3倍違っていた、とのこと。どのような条件でJavaが最低だったのか知りたくその報告のURLにアクセスしてみたがアクセスできなかったのは残念である。Fowler氏は、Javaフレームワークはアプリの本質の複雑性とは無関係の偶発的複雑性への対応を持ち込みすぎている、と述べているとか。確かにEJBのとてつもない複雑性はその例だろう。だいたい、EJBは分散環境でのWEBアプリに適している、と教科書には書いてあるが、分散環境なんて世界レベルの巨大システム以外には無用の長物だ。著者は、「軽量フレームワーク」を一般的に構成するSpring,Hibernateの学習の困難さにも言及している。私もこれらはちょっと本を読んだだけで、使用する気にはなれなかった。必要時はSeasarを使用するつもりだった。Railsの開発効率がいかに高いか、を実例を挙げて熱く語っている。その開発効率の高さの主要因は、コーディングの少なさ、と。バグはコーディング量に比例する、とのこと。確かに私も、JavaによるWEBアプリ開発では、Strutsを使用した際にコーディングの量の多さにはうんざりした。パターン化できる部分は、Javaソースコードのジェネレータを作成し自動生成させたものだ。Javaの開発効率の悪さはわかった。私がなんとなく感じていたとおりだ。著者によれば、実行速度もRubyのほうが速い場合もあるとか。私は通常の(Cによる)Ruby実行環境は遅いもの、と思い込んでいたからだ。RubyがPythonレベルの実行速度なら、Rubyが遅いと書いたこのブログ中での各記事を訂正しなければならない。Railsにはすぐには飛びつくつもりはない。Rails類似のフレームワークであるTurboGearsと、ほとんど日本語情報は無いがPylonsで小規模WEBアプリを組んでみるつもりだ。Railsを試してみて、どれが最も開発効率が高いか、結論を出すつもりだ。»この記事のトラックバックURL:http://www.momologue.net/archives/18/trackback/コメント投稿(承認制となっております。)名前:(必須)メールアドレス:(必須ですが表示されません)URL:コメント:コメント・トラックバック一覧(0)この記事にはまだコメントがついていません。