• ベストアンサー

Rubyの「生産性10倍」とか「プログラミングが面白くなる」とかの宣伝は本当でしょうか。

今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。また、Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。 私はRubyの入門書を読んでも理解しにくいし難しいと思います。これで本当に「プログラミングが面白くなる」とか「生産性10倍」とか思えません。今の時期においてRubyを学ぶのはまだ早いのではないかと思います。 外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。実際はどうでしょうか。 また、RubyがJavaに置き換わるとしたら、Javaのようなマルチプラットフォームや仮想マシンなどでWebアプリやGUIアプリ以外に自動車のエンジンやAV機器のシステム画面などでも使えることはできますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.3

「Ruby」としてジャーナリズムで語られていることの一部は、「Ruby On Rails」についてであり、よく見極める必要があります。 生産性ですが、一人のプログラマの一定期間に生産(テスト込み)できるコード量は、言語に寄らずほぼ一定という測定結果ないし説があります。これが正しければ、コードの機能が高い言語の方が生産性が高いことになります。 また、開発の仕方で、小さなシステムを少数精鋭で作るケースもあり、大規模なシステムを、非熟練者込みで数百人のSE・プログラマで作るケースもあり、生産性は一概に比較できません。 数百人の開発ならCやJavaが向いています。 RubyとPythonはほぼ同じような位置づけの言語(オブジェクト指向の動的型のスクリプト言語)で、この位置にあるメジャーな言語はこの2つなので、どちらを選んでもかまわないと思います。 >私はRubyの入門書を読んでも理解しにくいし難しいと思います。 Rubyは初心者にわかりやすいことは目的にしておらず、慣れた人が楽に書けることを第一に考えられた言語です。したがって、オブジェクト指向ないしLISP言語を知らない人には、最初は取っつきにくいかもしれません。「慣れた人が楽に書ける」と言うことを指して、「プログラミングが面白くなる」と表現されたんでしょうけど、どんな言語であれ、面白くプログラミングはできます。 Javaは慣れてもめんどくさい言語です。そのめんどくささを少しでも緩和するために、IDE(統合開発環境)が進歩しています。IDEで書くのは楽になりますが、読むときの面倒さは軽減しにくいですね。 Javaが置き換わるかどうかについては、他の人も書いているとおり、適材適所ですね。

masa_go
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきました。 やはり適材適所ですね。

その他の回答 (3)

回答No.4

参考書を挙げておきます。 JavaからRubyへ ― マネージャのための実践移行ガイド http://www.oreilly.co.jp/books/9784873113203/ >外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。実際はどうでしょうか。 需要はあるでしょう。 ただし、Pythonに比べるとRubyが外国に認知されたのが遅いんで、若干タイムラグがある、って事でしょう。アプリケーションの数とかユーザー数で言うと確かにPythonの方が多いとは思いますが、それなりにRubyユーザーもいる、と思います。 (逆に言うと、日本でのPythonの知名度が小さいのも、日本語の扱いに難があったから、って事ですよね?) >RubyがJavaに置き換わるとしたら、Javaのようなマルチプラットフォームや仮想マシンなどでWebアプリやGUIアプリ以外に自動車のエンジンやAV機器のシステム画面などでも使えることはできますでしょうか。 理屈では使えるんじゃないですか?これはJavaやRubyに限らず「どんな言語でも」です。 単にハードウェア上の制約が大きいんだと思いますよ。低レベルの言語の方が使うメモリが少ないんで、コンパクトに出来る、と言うハードウェア上の要求が大きいんだと思います。メモリを一杯積んだら製造コストに跳ね返りますからね。でも、それは「言語の特性」自体とはあまり関係ないんじゃないでしょうか? (もっとも、「言語の特性」のうちの一つが「走らせるのにどの位のメモリが必要か?」って事でしょうけどね)

masa_go
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきました。 なるほどです。どの言語でもGUIとかロボットとか動かすことは可能ですね。C言語をサーバサイドで動かすため、CGIを実装するようなものでしょうね。

  • ken-etsu
  • ベストアンサー率46% (55/119)
回答No.2

> 今後、RubyがJavaに置き換わると言われますが 置き換わらないと思います。それぞれ得意分野がありますから、共存していくのではないでしょうか。 参考URLの先では、次のように言っています。 ===== 「RubyやPythonといった動的言語はHTMLを生成するのに適した言語だが、それがコンピューティングのすべてではない」とコメントしており、例えば、NASDAQの電子取引では1秒間に約15万のトランザクションをJava EEで処理しており、そうした用途ではJavaのスケーラビリティや柔軟性、セキュリティが勝ると指摘する。 ===== > Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。 個人的には、Rubyのプログラミングは面白いです。が、面白い・面白くないは、個人の主観によるので、そう感じない人も居るでしょう。 「生産性10倍」は、なんと比較するかによるでしょうし、前にも述べた得意分野があるということは、不得意分野もあるわけで、いつも生産性10倍なんてことは無いと思います。 仮にプログラミングの生産性が10倍でも、プログラムを実行したときの生産性が10倍になるとは限りませんし。 まあ、セールストークの一種として聞き流してればいいんじゃないでしょうか。 > 外国ではRubyに需要あるとは思えません。 Ruby on Railsは日本以外でも流行していますよ。 > また、RubyがJavaに置き換わるとしたら、<<略>>使えることはできますでしょうか。 私は置き換わらないと思ってますので、意味のない質問です。 ただ、Java VM上で動くRuby・JRubyを使えば、Javaの動くところではどこでもRubyが動きますので、「使う」というだけなら不可能ではありません。

参考URL:
http://www.atmarkit.co.jp/news/200705/10/jruby.html
masa_go
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきました。 やはり、「生産性10倍」やら一種のセールストークみたいなものですね。使う人の感想がそれぞれ違うわけだし…。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

>今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。 置き換わりません。 >Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。 「面白さ」は主観の問題だし、「生産性」は計測が難しいので何とも言えません。 >今の時期においてRubyを学ぶのはまだ早いのではないかと思います。 そういう場合、いつまで経っても「早い」ままです。適切な時期は到来しません。 >外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。 需要という面からは「どんぐりの背比べ」程度ではないでしょうか。 しかし外国での需要を気にするような場面にはあまり直面しないでしょう。

masa_go
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきます。

関連するQ&A

  • RubyってJavaの10倍ほど開発生産性が高いといいますが本当?

    いろんなサイトを見るとRubyはJavaの10倍の開発生産性があると書かれています。Javaの何と比べて10倍といっているのでしょうか?また本当に10倍と言わなくても倍以上の生産性なんてあるのでしょうか?ちょっと半信半疑です。コンピューター言語の違いがそこまで生産性に影響するのかなと思ってしまいます。

    • ベストアンサー
    • Java
  • PythonとRubyどちらを選ぶべきでしょう?

    こんにちは。 今、PythonとRubyどちらをメインで学ぶべきかを考えており良かったら皆様の意見を参考にしたく思います。 現状 Ruby 7ヶ月 Python 1ヶ月 ほどの経験があります。(プログラミングはまだ初心者です。) Rubyの方が慣れているのですが、以下のような考えからPythonをメインで使った方がいいのか考えています。 以下、僕の考え 今後、Ruby on Railsがどんどん使われだして、現在のPHPのような形でRubyが使われるんじゃないか。 とすると、Rubyを使っても他の人と全く差別化出来ない取り替えの効いてしまうプログラマにしかなれないのでは。 Pythonの場合は、まだ日本でのユーザー数が少ないこともあり、Ruby,PHPに比べれば自分を差別化することにつなげられるのではないか。 とすれば、Pythonを使った方がいいか? ちなみにコレ以外に今思っていることとして、 Pythonはモジュールをインポートすることが前提とされているため、モジュールを効率的に利用する方法が学びやすい。そのため、プログラミングの学習には向いている。 PythonにもturbogearsやDjangoがあるので、Railsが無くてもいいのでは? Google app engineの登場で、Python学習に都合の良い場所が出来た。 といったことです。 これらの考え方について皆様はどのように思われますか?逆にPythonやRubyよりもCやPerlをやった方がいいんじゃないかといった意見もありましたら頂けると嬉しいです。よろしくお願いします。 (追記)ちなみに僕は今学生で、就職先ではきっとPHPを使うことになります。(ホントはあまり使いたくないのですが)

  • プログラミング言語、Pythonなどについて

    プログラミングスクールに通いプログラミングを習いたいです。言語を決めているとこですが、単に需要があったり稼げるというのを目にして安易な理由ですがPythonに興味があります。しかし、Pythonが主とするAIの世界は難しく地頭も相当よくないとききました、PythonやAIに特化したスクールもありましたが、転職保証するサービスはないようですが就職はできるでしょうか。これまた安易な考えですがいずれ独立したいですが、調べたイメージではAIの仕事はチームプレイなイメージがありますが、仕事は簡単には舞いこんでこないでしょうか。もちろんどの言語も甘くないでしょうが、まずは就職するにしても独立するにしても、 PythonやらAIが特に難しいならまだ比較的案件が多そうな他の言語(Ruby、PHPなど)にしようかとも考えてますがどうでしょうか。また、PHPやRubyならまだ可能性や案件は多いでしょうか?体験談や知識、意見を聴きたいです宜しくお願い致します。

  • I pad にキーボードを付けてプログラミングの勉

    I pad にキーボードを付けてプログラミングの勉強をしたいとおもうのですが、 アプリで pc版に似た開発環境ってありますか? とりあえず言語は問いませんが、 C Python Ruby ができればよいです。

  • プログラミング入門

    プログラミング入門 今、私はプログラミングの勉強をしたいなーと思っています。それでホント初心者でも一からできるソフトはないでしょうか?または詳しく乗っているサイトを教えてください<m(__)m> できればJAVAかCがいいです

  • pythonでコーディングされてる有名なサイトって

    pythonでコーディングされている有名なサイトってありますか? 来週からエンジニアとして働く者です。未経験ですが、会社でpythonをすすめられ、現在勉強しております。Rubyでありましたらcookpadなどがぱっと浮かぶのですが、pythonといったら何か有名サイトがあるのかぱっと浮かびません。 あまりマイナーな言語でありましたら、今後pythonを勉強していく意欲がでず、Rubyをやっていきたいと伝えようか悩んでます。(pythonよりRubyの方がベンチャー企業で使用しているイメージがあります) 未経験のため、わがままを言える立場ではありませんが、 需要の低い言語を勉強していくのもどうかと思います。 会社からはJAVAやPHPではなく、今後需要のあるRUBYもしくはPythonのエンジニアになってほしいと言われてます。 但し、RUBYはすぐに席がないため、Pythonでお願いしたいという経緯が御座います。 ご意見頂けますと幸いです。 よろしくお願いします。

  • Rubyの入門書について

    Rubyの入門書について Rubyの勉強を始めて2週間、いま、ある本でつまずいています。今使っている本は「Ruby2 さまざまなデータとプログラミング」という本を使っているのですが、この本の一巻はまだわかりやすかったのですが、この本は急に説明が投げやりな感じがします。メソッドの説明で「自分で調べてください」だの、問題の解説がほとんどないなど、非常に不親切な感じがします。3日かけても1ページ進まないことなどざらで、自分にはこの本は早かったんだろうかと思い始めました。一方で、ここで逃げてしまってはいけないという風にも思います。ちなみに、私のRubyに関する知識は今使ってる本と、その一巻だけです。 そこで、質問です。特に「たのしいRuby」をやった時点でプログラム素人だった方に聞きたいのですが、「たのしいRuby」を一通りやるのにどのくらいの時間がかかりましたか? また、「Ruby2さまざまなデータとプログラミング」をもっている方、この本は本当に初心者向けなんでしょうか? 最後にこの質問を見てくれた皆様に質問です。短かいにもかかわらずわからないプログラムを見て、数日も考え続けるのは時間の無駄でしょうか?それともみんな初めはこんなもんなんでしょうか?

    • ベストアンサー
    • Ruby
  • おすすめのプログラミング勉強法教えて

    情報科の高校生なのですが JavaやPythonについて学んでサービスやアプリを作れるようになりたいのですが、 おすすめの学習の順番について知りたいです🙏🏻 また、おすめのサイト、本、プログラミングスクールがあれば教えて頂きたいです。 また、Progateの有料会員はどうなのかも分かる方、回答して頂けると嬉しいです。

  • PHPとかperlとかrubyとか

    質問させていただきます。 プログラミング言語を学ぼうと思っています。 ありがちな質問ですが、言語の特徴などを伺いたいと思います。 PHPはWEBに特化した言語だと聞きました。 あとperlはテキスト処理だけでどうも、、、って話も。 rubyはまだプログラムの話で出てこないことも多い。 やりたいことがあっての言語なのは承知しています。 WEBやデータベース、スタンドアロン?の簡単なソフト開発とか、いろいろやりたいことは多いです。 最初に目をつけた敷居が低いとされるWEBに特化したPHPはソフト開発には向かないらしいし、偏ったものもどうかと思ってます。 でも次の言語にJAVAを考えていて(JAVAは習得が難しいと聞きましたので)、PHPはJAVAに多少似ているってどっかのサイトで見ました。たぶん賛否両論はあるでしょうが。 別にWEBプログラムだからってperlでもrubyでもできるんですよね?だったら偏ったPHPよりperl、rubyの方が書いていて楽しいような気がします。rubyの需要はまだ少なそうですし、perlのテキスト処理だけってのもどうなんだろうと思いますが。そこらへんも聞きたいです。 簡単なゲームとか、顧客管理ソフトとか、WEBとかデータベースとか、できれば敷居が低く楽しめる言語があればと思ってます。

  • プログラミング言語の住み分けについて

    はじめまして。ほぼ初心者です。 某書籍の一文なのですが、 A君「博士!CGIはPerlでつくるものなのですか?」 博士「いや、別にCでもC++でもなんでもいいんだよ」 私{・・・(メダパニ&コンヒュ)} 私{CGI・・・Common Gateway Interface、ということは、APIのようなものか?GetメソッドやらPostメソッドでのデータを受信?して処理できれば言語は何でもいい、ということだろうか???} 前提として、 言語は C/C++ Java Perl PHP Ruby VB(や.net系) ジャンル 組み込み系 Web系C/S(C側 S側) 非Web系C/S(C側 S側)(…クライアント側にWebブラウザを使わないものの意味です) 単体アプリ C/C++ C++はオブジェクト指向で、最もマシン語に近い。処理高速。 Java オブジェクト指向 WriteOnce(非OS依存) 処理時間は??? Perl 文字列処理が得意らしいが、たいていのことはできる??? PHP htmlに埋め込んで使うらしい。PHPのみのアプリはあるのか不明。 VB(や.net系) MS製品上でしか動かない。 ※Javaは、処理内容や動作環境によって、JSPとかAppletとか呼ばれる という知識があります。 ここで、疑問なのですが、これらのプログラミング言語の住み分けはどのようになっているのでしょうか? 私の持っている答えと疑問は以下のとおりです。 ・組み込み系ではマシン語に近いC/C++が使われる  ⇒組み込み系以外ではC/C++は使われないの?LinuxOSはアセンブリ?言語とC言語だったような。。OSに近い処理をするアプリではC/C++も現役? ・「いまやWebアプリ開発といえばJavaである」と偉い人が言っていた  ⇒RubyとかPHPとかとの住み分けはどのような感じ?"大は小を兼ねる"で、Javaさえできれば、RubyやPHPと同じものを作れるの?(手間隙は別として) ・サーバーサイドJavaという言葉があるくらいだから、Web系、非Web系を問わず、C/SシステムではC側もS側もJavaで作るのがよいの? ・Perlを用いて、文字列処理やテキスト処理を他の言語よりも簡易に処理することができる。GUI開発はできない。  ⇒Linux上でも動くアプリのGUI開発は、C/C++か、Javaでないと作れないの?(MS.netはMS製品上でしか動かないGUI開発なので除く)  ⇒例えば、FirefoxとかThunderBirdなんかはJava?それともC++? ・VB.net、VC#などはMSの製品上でしか動かない。  ⇒MS依存言語というところにあまり魅力を感じないのですが・・・。  ⇒Javaと例えばVB.netとで、同じアプリを作るときに、手間隙が同じだったらJavaで作ったほうがいいんじゃないの?それともその「手間隙」が大きく違ってくるの? ・Perlは文字列処理に強い。シェルの上位版みたいな感じらしい。  ⇒PHPとRubyのウリは一体何?Rubyはオブジェクト指向がウリらしいけど、オブジェクト指向の言語ならC++とJavaとか.netがあるし。。 ちょっと脱線します。 ・JavaScriptとhtmlで、Ajaxを作れる。動的な表示もお手の物。  ⇒ますますPHPとRubyの住み分けがわからない。。 まだまだいろいろあるのですが、脳内整理が出来てません・・。 各言語の得意とするところ(長所・短所)、Web系、非Web系C/Sシステムにおけるそれぞれの言語の住み分け、単体アプリはどれでも作れるのか。GUI開発をするにはどれがよいのか。。。 などなど、いろいろ調べたのですが、キチンと住み分けを図表示してくれているサイトはありませんでした。そもそも住み分けを図表示すること自体が無理なのかな?とか思ったりしました。 乱文で申し訳ありませんが、アドバイスをいただけたらと思います。 よろしくお願いいたします。

専門家に質問してみよう