質問 |
||
| 質問者:masa_go | Rubyの「生産性10倍」とか「プログラミングが面白くなる」とかの宣伝は本当でしょうか。 | |
|---|---|---|
困り度:
|
今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。また、Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。 私はRubyの入門書を読んでも理解しにくいし難しいと思います。これで本当に「プログラミングが面白くなる」とか「生産性10倍」とか思えません。今の時期においてRubyを学ぶのはまだ早いのではないかと思います。 外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。実際はどうでしょうか。 また、RubyがJavaに置き換わるとしたら、Javaのようなマルチプラットフォームや仮想マシンなどでWebアプリやGUIアプリ以外に自動車のエンジンやAV機器のシステム画面などでも使えることはできますでしょうか。 |
|
質問投稿日時:08/03/25 17:26 質問番号:3893766 |
||
回答 |
|
| 回答者:cametan_42 | 参考書を挙げておきます。 JavaからRubyへ ― マネージャのための実践移行ガイド http://www.oreilly.co.jp/books/9784873113203/ >外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。実際はどうでしょうか。 需要はあるでしょう。 ただし、Pythonに比べるとRubyが外国に認知されたのが遅いんで、若干タイムラグがある、って事でしょう。アプリケーションの数とかユーザー数で言うと確かにPythonの方が多いとは思いますが、それなりにRubyユーザーもいる、と思います。 (逆に言うと、日本でのPythonの知名度が小さいのも、日本語の扱いに難があったから、って事ですよね?) >RubyがJavaに置き換わるとしたら、Javaのようなマルチプラットフォームや仮想マシンなどでWebアプリやGUIアプリ以外に自動車のエンジンやAV機器のシステム画面などでも使えることはできますでしょうか。 理屈では使えるんじゃないですか?これはJavaやRubyに限らず「どんな言語でも」です。 単にハードウェア上の制約が大きいんだと思いますよ。低レベルの言語の方が使うメモリが少ないんで、コンパクトに出来る、と言うハードウェア上の要求が大きいんだと思います。メモリを一杯積んだら製造コストに跳ね返りますからね。でも、それは「言語の特性」自体とはあまり関係ないんじゃないでしょうか? (もっとも、「言語の特性」のうちの一つが「走らせるのにどの位のメモリが必要か?」って事でしょうけどね) |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/26 21:42 回答番号:No.4 |
|
| この回答へのお礼 | ご回答ありがとうございました。 参考にさせていただきました。 なるほどです。どの言語でもGUIとかロボットとか動かすことは可能ですね。C言語をサーバサイドで動かすため、CGIを実装するようなものでしょうね。 |
回答良回答20pt |
|
| 回答者:notnot | 「Ruby」としてジャーナリズムで語られていることの一部は、「Ruby On Rails」についてであり、よく見極める必要があります。 生産性ですが、一人のプログラマの一定期間に生産(テスト込み)できるコード量は、言語に寄らずほぼ一定という測定結果ないし説があります。これが正しければ、コードの機能が高い言語の方が生産性が高いことになります。 また、開発の仕方で、小さなシステムを少数精鋭で作るケースもあり、大規模なシステムを、非熟練者込みで数百人のSE・プログラマで作るケースもあり、生産性は一概に比較できません。 数百人の開発ならCやJavaが向いています。 RubyとPythonはほぼ同じような位置づけの言語(オブジェクト指向の動的型のスクリプト言語)で、この位置にあるメジャーな言語はこの2つなので、どちらを選んでもかまわないと思います。 >私はRubyの入門書を読んでも理解しにくいし難しいと思います。 Rubyは初心者にわかりやすいことは目的にしておらず、慣れた人が楽に書けることを第一に考えられた言語です。したがって、オブジェクト指向ないしLISP言語を知らない人には、最初は取っつきにくいかもしれません。「慣れた人が楽に書ける」と言うことを指して、「プログラミングが面白くなる」と表現されたんでしょうけど、どんな言語であれ、面白くプログラミングはできます。 Javaは慣れてもめんどくさい言語です。そのめんどくささを少しでも緩和するために、IDE(統合開発環境)が進歩しています。IDEで書くのは楽になりますが、読むときの面倒さは軽減しにくいですね。 Javaが置き換わるかどうかについては、他の人も書いているとおり、適材適所ですね。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/03/25 20:32 回答番号:No.3 |
|
| この回答へのお礼 | ご回答ありがとうございました。 参考にさせていただきました。 やはり適材適所ですね。 |
回答良回答10pt |
|
| 回答者:ken-etsu | > 今後、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が動きますので、「使う」というだけなら不可能ではありません。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/03/25 19:12 回答番号:No.2 |
|
| 参考URL: | http://www.atmarkit.co.jp/news/200705/10/jruby.html |
| この回答へのお礼 | ご回答ありがとうございました。 参考にさせていただきました。 やはり、「生産性10倍」やら一種のセールストークみたいなものですね。使う人の感想がそれぞれ違うわけだし…。 |
回答 |
|
| 回答者:koko_u_ | >今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。 置き換わりません。 >Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。 「面白さ」は主観の問題だし、「生産性」は計測が難しいので何とも言えません。 >今の時期においてRubyを学ぶのはまだ早いのではないかと思います。 そういう場合、いつまで経っても「早い」ままです。適切な時期は到来しません。 >外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。 需要という面からは「どんぐりの背比べ」程度ではないでしょうか。 しかし外国での需要を気にするような場面にはあまり直面しないでしょう。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/25 19:07 回答番号:No.1 |
|
| この回答へのお礼 | ご回答ありがとうございました。 参考にさせていただきます。 |