検索
カレンダー
2020年4月
« 4月    
 1234
567891011
12131415161718
19202122232425
2627282930  
ブログメニュー
Amazon検索
キーワード:

本当にRubyは生産性がよいのか?

2007年9月20日

今回は傲慢SE日記さんの「JavaからRubyへ・・・」という記事に影響を受けて私の意見を書いてみたいと思います。あ、私はRuby未経験なので話半分で読んでください(^_^;


Ruby on Rails が出てきたころから色々な雑誌やブログで「Ruby(RoR)は生産性が高い」というような記事や、それから派生したと思われる「Lightweight Language は生産性が高い」という記事をよく見かけるようになりました。

けれど本当に生産性が高いんでしょうか? 確かにRubyは優れた言語かもしれませんし、スキルの高いプログラマが書けば生産性も高くなくかもしれません。けれど、自動生成の恩恵は基本的な画面構成に限られますし、クロージャを使ってコードが短く書けるからといって生産性がそんなに高くなるんでしょうか?例えば(こういう呼び方は好きではないですが)100人月の仕事を、数十人の派遣プログラマでやらなくてはならないときに、果たしてRoRのほうが生産性が高いのか疑問です。

と、ここまで読んでJava贔屓だと思われるかもしれませんが、確かにJavaよりLLの方が良い部分もあることは分かっているつもりです。プロトタイプを作りやすいとか、レンタルサーバではJavaよりPHPやPerlのほうがサポートしている会社が多いなどです。今後はRubyをサポートする会社も増えることでしょう。


ということで、私はRubyはPerlやPHPの代替にはなり得ますが、JavaやC#の代替にはなり得ないのではないかと考えています。

ただ、本当に重要なのは顧客や自身の要望をいかに早く、いかに正確に実現するかということだと思います。そういう意味では言語の生産性だけでなく、その言語が使えるプログラマを必要な人数だけ集めることができるか、保守コストが言語によってどれだけ変わるか、必要なパフォーマンスが出せるか、動作環境やライセンスはどうなっているか等、他にも考えることがたくさんあるはずです。一つの技術や言語にとらわれず、状況を考えて使う言語を選びたいものです。

7件のコメント »

  1. 自分に対しての補足です。
    この記事もそうですが、言語としても「Ruby」と
    フレームワークとしての「Ruby on Rails」を
    混同させないほうがいいかもしれませんね(^_^;

    Comment by nishijima — 2007/9/20 @ 1:22:02

  2. トラックバックありがとう御座います。
    コメントにかかれているように、JavaからRubyと言うよりJ2EEからRuby on Railsの方が適切だったかもしれません・・・。

    ニシジマさんが書いているように、「100人月の仕事を、数十人の派遣プログラマでやらなくてはならないときに、果たしてRoRのほうが生産性が高いのか疑問」と言うのは分かります。
    おそらく出来ないでしょう。
    Railsはチームの結束力が必要なので派遣プログラマーにやらせる事は難しいと思います。
    すなわち、今の社会情勢ではRailsはまだ流行らないでしょう。

    ただ、昔C++のマーケティングをJavaが食ったようにJavaのマーケティングの一部をRubyが食う時代は来ると思います。
    そして、C++が残ったようにJavaも残ると思います。
    JRubyのようにRubyと共存(Javaと共存?)してJavaが残るかもしれません。
    (JRubyはJavaの上で動き、RubyコードをコンパイルするとJavaと同じclassファイルが作成されます。なので、RubyソースをJavaで呼び出したりその逆も出来ます。)

    P.S.
    Ruby(RoR)はPHPやPerlの代替よりJava(J2EE)やC#(APS.NET)の代替だと思います。
    (RoRの設計手法はオブジェクト指向なのでJ2EEやASP.NETに近い設計書で構築できると思います。)

    Comment by syou007 — 2007/9/20 @ 1:53:46

  3. コメントありがとうございます。

    > Ruby(RoR)はPHPやPerlの代替よりJava(J2EE)やC#(APS.NET)の代替だと思います。
    > (RoRの設計手法はオブジェクト指向なのでJ2EEやASP.NETに近い設計書で構築できると思います。)

    この部分だけ私と意見が違いますねぇ。。。
    確かにRubyはオブジェクト指向ですが、それを言うならPHPも(半端ですが)オブジェクト指向ですよ。

    私は「データ型などで言語として縛りをつけることができるか」が重要かと考えています(RoRのCoCも縛りだと思います)。
    この「縛り」の強さが、派遣プログラマに作らせるときに効いてくるのではないかと。
    なんで、JRubyではなく「Java EE」も生き残ると思ってます。

    Comment by nishijima — 2007/9/20 @ 2:20:45

  4. 確かにそうですね。
    派遣プログラマにRubyで物を作らせるのは怖すぎますね。
    (まさに【Rails炎上】と言われる事が起こるかもしれません。)

    また、上記の理由でJavaEE(J2EEって未だに言ってしまう。(^^;))が残るのも分かります。
    今後どうなっていくのかが楽しみですね。

    P.S.
    念のため付け加えておくと・・・
    私個人的にはC#やJavaと言う言語は比較的好きな部類に入ります。
    Javaがなくなって欲しいとか思ってあの記事を書いたわけではありません(^^;)
    あと、型の縛りのメリットとデメリットは少し考えてみます。

    Comment by syou007 — 2007/9/20 @ 8:57:35

  5. > 私個人的にはC#やJavaと言う言語は比較的好きな部類に入ります。
    > Javaがなくなって欲しいとか思ってあの記事を書いたわけではありません(^^;)

    わかっていますよ(^_^
    傲慢SEさんって元々C#が得意でしたよね?

    > あと、型の縛りのメリットとデメリットは少し考えてみます。

    型の縛りが大切だという意見は、Web上では少数派なように思います。。。

    Comment by nishijima — 2007/9/20 @ 11:11:49

  6. なんか、こういう討論をしてからWebシステムを作ってみたいですね。
    今回のシステムはこれこれこういう理由だからJavaにしよう!Rubyにしよう!
    って話し合った後に納得して仕事をしてみたいものです。

    私の仕事は入った時点でテクノロジーが全て決まっている場合が多いです。。。

    >傲慢SEさんって元々C#が得意でしたよね?
    よく覚えてますね!
    嬉しいです。

    C#って案件があまり無くて最近はもっぱらJavaです。
    Eclipseにもなれてきた今日この頃、VisualStudioよりEclipseの方が使いやすいのではないかと思っています。
    (やっぱり、あのプラグインって概念が凄いですね。)

    >型の縛りが大切だという意見は、Web上では少数派なように思います。。。
    型の縛りは大切だと思います。
    正直に言えば、Rubyでも型を明確にしたいときが多々あります。

    Web上で少数はかどうかは分からないのですが、私の周りでは型が煩わしいと言うVBユーザーさんはたまに見かけます。
    結局使いこなせていないで型の縛りが邪魔って言ってる方が多い気が致します。

    それにしても、、、ニシジマさんは相当のJava使いっぽいですね。
    そのレベルまで行けばなれている言語の方が早いになる気がします。

    P.S.
    来月からフリーになります。
    仕事も決まりました。
    コメントで書くのは少し恐縮ですが、今後とも宜しくお願いします。

    Comment by syou007 — 2007/9/20 @ 12:49:05

  7. > 私の仕事は入った時点でテクノロジーが全て決まっている場合が多いです。。。

    私も以前いた会社では、嫌々VBをやらされてました。
    それも「VBを使える人が多いから」ってことだけで、他の言語のほうがいいような場合でもVBになってました。
    サーバ+クライアントの2層のシステムを作るときでさえ、サーバごとVBで実装する荒業をやってたり。

    > Web上で少数はかどうかは分からないのですが、私の周りでは型が煩わしいと言うVBユーザーさんはたまに見かけます。
    > 結局使いこなせていないで型の縛りが邪魔って言ってる方が多い気が致します。

    たしかに、VBやVBAユーザには多いような気がします。
    しかもVariantなんて型があるもんだから性質が悪いです(^_^;
    保守を考えなければ型なんてどうでもいいのかもしれませんが…。

    > それにしても、、、ニシジマさんは相当のJava使いっぽいですね。
    > そのレベルまで行けばなれている言語の方が早いになる気がします。

    確かにJavaが一番使い慣れてるかもしれませんねぇ。
    でも、私なんてまだまだですよ(汗)

    > 来月からフリーになります。
    > 仕事も決まりました。
    > コメントで書くのは少し恐縮ですが、今後とも宜しくお願いします。

    おめでとうございます!
    これからも宜しくです。

    Comment by nishijima — 2007/9/20 @ 19:17:31

TrackBack URL : http://www.meibinlab.jp/nishijima/archives/95/trackback

コメントする