dポイントプレゼントキャンペーン実施中!

今から5年ぐらい前に勤めていた会社で、
自称C言語開発者の同僚が、「Javaは遅いからな~」と得意げに言っておりました。

おそらく、同僚としては何かしらの根拠があってそのような事を言ったのだと思いますが
Javaを「遅い」と言う根拠には、どのようなものがあったと想定されますか?
(Javaに対する偏見も当然あったと思いますが。)

具体的に教えて下さい。

A 回答 (4件)

VMで起動する、いわゆる「中間言語(バイトコード)」だからでしょう。


http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4% …

当時はVMを起動させるだけで一手間でしたし、VMのインタプリタが遅かったですからね。

しかし、今ではVMの最適化やJITの導入もすすんできましたし、Javaでパフォーマンスをどうこう言うのは減ってきているとおもいますよ。

たぶん、C言語でMFCでゴリゴリ書く人だったんでしょう?
そういう人は偏見を持っていることも多いですからね...
    • good
    • 0

Javaはまあ、遅いですよ。


問題は起動速度(立ち上がり)ですね。
ですから、重量級のアプリケーションだとタスクバー(バックグラウンド)に常駐させておいて、立ち上がりの遅さをフォローしているわけです。

確かWindowsのJREにもその機能があったと思います。

一度起動してしまえば、意外と速いですよ。
今はどうか知りませんが、TwitterにJava製のサーバーが選ばれた事実からも、かなり高負荷な処理を捌けることが分かると思います。
http://blog.s21g.com/articles/635
    • good
    • 0

「Java」「c」「速度」でググってみればいくらでもこの種の話題について出てきますよ。


個人的には、
http://d.hatena.ne.jp/kwatch/20100430/1272585083
にあるよぅに、コンピュータ言語には適材適所というものがあるということが正しいと思います。
cでフルスクラッチで何でも書くよりもPerlやRubyで書くほうが圧倒的に生産性高いですから。
    • good
    • 0

根拠もなにも、それは自明です。


高級言語は、いろいろなことができる反面いろいろなことをやるので当然遅くなります。

例えばJavaはメモリの解放を自動でやってくれます。自動でやってくれるということは自動でできるように裏で計算しているということです。つまりその分遅くなるんです。これは言語の仕様ですからどうしようもありません。

プログラムは遅くても必要な時間内に終わればなんも問題ないのです。例えばCで開発すると100万円のハードウェアで動くけどJavaで開発すると200万円のハードウェアでないと終わらないとします。
でも開発費がCは500万円かかってJavaだったら300万ですむとしたら、トータルでJavaのほうが安く済みますよね。この場合はJavaのほうが安くすむのでいいんです。
でも同じ条件でハードウェアを10か所に導入する必要があればどうなります?Cのほうがトータルで安くなってしまうでしょ?なので適材適所の対応が必要なんです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!