
今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。また、Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。
私はRubyの入門書を読んでも理解しにくいし難しいと思います。これで本当に「プログラミングが面白くなる」とか「生産性10倍」とか思えません。今の時期においてRubyを学ぶのはまだ早いのではないかと思います。
外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。実際はどうでしょうか。
また、RubyがJavaに置き換わるとしたら、Javaのようなマルチプラットフォームや仮想マシンなどでWebアプリやGUIアプリ以外に自動車のエンジンやAV機器のシステム画面などでも使えることはできますでしょうか。
No.3ベストアンサー
- 回答日時:
「Ruby」としてジャーナリズムで語られていることの一部は、「Ruby On Rails」についてであり、よく見極める必要があります。
生産性ですが、一人のプログラマの一定期間に生産(テスト込み)できるコード量は、言語に寄らずほぼ一定という測定結果ないし説があります。これが正しければ、コードの機能が高い言語の方が生産性が高いことになります。
また、開発の仕方で、小さなシステムを少数精鋭で作るケースもあり、大規模なシステムを、非熟練者込みで数百人のSE・プログラマで作るケースもあり、生産性は一概に比較できません。
数百人の開発ならCやJavaが向いています。
RubyとPythonはほぼ同じような位置づけの言語(オブジェクト指向の動的型のスクリプト言語)で、この位置にあるメジャーな言語はこの2つなので、どちらを選んでもかまわないと思います。
>私はRubyの入門書を読んでも理解しにくいし難しいと思います。
Rubyは初心者にわかりやすいことは目的にしておらず、慣れた人が楽に書けることを第一に考えられた言語です。したがって、オブジェクト指向ないしLISP言語を知らない人には、最初は取っつきにくいかもしれません。「慣れた人が楽に書ける」と言うことを指して、「プログラミングが面白くなる」と表現されたんでしょうけど、どんな言語であれ、面白くプログラミングはできます。
Javaは慣れてもめんどくさい言語です。そのめんどくささを少しでも緩和するために、IDE(統合開発環境)が進歩しています。IDEで書くのは楽になりますが、読むときの面倒さは軽減しにくいですね。
Javaが置き換わるかどうかについては、他の人も書いているとおり、適材適所ですね。
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に限らず「どんな言語でも」です。
単にハードウェア上の制約が大きいんだと思いますよ。低レベルの言語の方が使うメモリが少ないんで、コンパクトに出来る、と言うハードウェア上の要求が大きいんだと思います。メモリを一杯積んだら製造コストに跳ね返りますからね。でも、それは「言語の特性」自体とはあまり関係ないんじゃないでしょうか?
(もっとも、「言語の特性」のうちの一つが「走らせるのにどの位のメモリが必要か?」って事でしょうけどね)
ご回答ありがとうございました。
参考にさせていただきました。
なるほどです。どの言語でもGUIとかロボットとか動かすことは可能ですね。C言語をサーバサイドで動かすため、CGIを実装するようなものでしょうね。
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.h …
ご回答ありがとうございました。
参考にさせていただきました。
やはり、「生産性10倍」やら一種のセールストークみたいなものですね。使う人の感想がそれぞれ違うわけだし…。
No.1
- 回答日時:
>今後、RubyがJavaに置き換わると言われますが、それは何故でしょうか。
置き換わりません。
>Rubyは「プログラミングが面白くなる」とか「生産性10倍」とか、宣伝していますが、それは本当でしょうか。
「面白さ」は主観の問題だし、「生産性」は計測が難しいので何とも言えません。
>今の時期においてRubyを学ぶのはまだ早いのではないかと思います。
そういう場合、いつまで経っても「早い」ままです。適切な時期は到来しません。
>外国ではRubyに需要あるとは思えません。むしろPythonの方に需要があると思います。
需要という面からは「どんぐりの背比べ」程度ではないでしょうか。
しかし外国での需要を気にするような場面にはあまり直面しないでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- Java JavaでWebページ作成 7 2023/07/21 21:09
- Ruby Gitのクローンについて 3 2022/04/10 12:28
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- その他(IT・Webサービス) 今、プログラミングスクールの『Tec⚫︎cademy」のRuby on railsを受講しているので 1 2023/05/10 22:10
- Ruby MacBookAir起動時にRubyソースコードをコマンドラインで実行するには? MacのOS起動時 1 2022/04/18 01:55
- Mac OS MacOSのLaunchAgentsってなんですか?使い方など教えてください。 前の質問でLaunc 1 2022/04/24 02:06
- Ruby Ruby on Railsでサーバーを立ち上げるには 1 2022/08/28 16:16
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(プログラミング・Web制作) HTMLを組み込むことができない言語 3 2022/05/21 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
C++ ってなんて読む?
-
プログラムに書かれる"%"記号の...
-
順列の内容をすべて表示するプ...
-
プログラムははぜ小文字大文字...
-
プログラムからアイコンファイ...
-
C言語とhtmlの違いを どな...
-
VBSとWSHは読み方が違うだけで...
-
計算速度の速いC言語を教えてく...
-
C++における継続行
-
UNITY Float型の接尾辞fって
-
スパーコンピューターで使用す...
-
swift言語の最適化 swift最適化...
-
C for Linuxでの設定ファイル読...
-
VB.NETからC言語への乗...
-
emcasで括弧の補完とオートイン...
-
プログラミング言語について
-
開発言語で「C#」とは、.NETの...
-
COBOLでのNOT = の AND条件
-
HTMLとXHTMLの大きな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムからアイコンファイ...
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLで文字タイプを数字...
-
UNITY Float型の接尾辞fって
-
HTMLとC++で、どんなホームペー...
-
Excel VBAで文字化けする (英語...
-
C++における継続行
-
TO_CHARで小数点以下がある場合...
-
VBScriptで引数を省略したい場合
-
VCとVC++
-
UWSCはどのプログラミング言語?
-
vbaとc言語の関連性について
-
パスカルケースの由来。
-
任天堂で使うプログラミング言...
-
Excelの開発言語ってなんですか?
-
C++ ってなんて読む?
-
VBSでDim、Private、Publicの違い
おすすめ情報