Javaとその他の言語(例えばC/C++、VisualBasic、SmallTalk
ObjectPascalなど)と比較をしてみたいと思うのですが。
①数値計算機能比較(整数の計算、関数の計算、浮動小数点演算、円周率計算)
②通信速度比較(クライアントサーバプログラム)...C++のみです。
などのベンチマーク比較を考えておりますが。その他に有効な比較内容は有りますか?
そして、上の①②でのテストでの注意事項(実行環境など)などがありましたらアドバイス
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

http://oshiete1.goo.ne.jp/qa2236559.html →まとめてお礼が~
http://oshiete1.goo.ne.jp/qa2368292.html →もういい加減~
http://oshiete1.goo.ne.jp/qa3538664.html →非喫煙者の方に~
http://oshiete1.goo.ne.jp/qa3582281.html →レジ袋有料化~

http://kikitai.teacup.com/qa13.html  →三国温泉~(再掲)
http://questionbox.msn.co.jp/qa35.html →NTPower~(〃)
http://oshiete.coneco.net/qa50.html  →専用線の~(〃)
http://tusinbo.okwave.jp/qa100.html →低体温療法(〃)
http://okwave.jp/qa2410.html   →IPv6(〃)
http://oshiete.eibi.co.jp/qa23.html →ラーメン屋(〃)
    • good
    • 0

1の数値計算比較ですが、同一プラットフォームでも、実装によって2桁もの差があります。

例えば、Linux 環境における、Java 1.1.8 の Sun による実装と、IBM による実装との間には、100倍程度の速度差があります(IBM劇速)。

2の通信速度比較では、大差は出ないと思いますが、マルチスレッド化が容易な Java の方が、多重アクセス環境での実装が楽だと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC, C#, C++, Javaに関していくつかお聞きしたい事がございます。

C, C#, C++, Javaに関していくつかお聞きしたい事がございます。

(1)簡単な上記の違い⇒CとC++は全く違うものなのか?

(2)それぞれの用途

(3)それぞれの難易度

(4)それぞれの市場価値

(5)いかなくても、一通り理解して
ある程度できるようになるには一般的にどれくらいでできるようになるか。

かなり初歩的案質問ですみません。仕事で使用する可能性がでてきたので、まずは上記を伺いたいです。ご親切な方よろしくお願いします。

Aベストアンサー

これから勉強は始めようということであれば、一般にはC言語からはいるのが理解しやすいと思います。

(1) 一般にC++ は C にオブジェクト指向の機能(class の作成・使用など) を組み込んだ物と理解した方がよいでしょう。
とは言え、最近のCコンパイラは C++ の機能を持っているものが多いので、コンパイラを選択する場合はC++を選んで問題ありません。勉強する際には、まずC言語の基本的なものから初めて、それから C++ 特有のオブジェクト指向について勉強した方が良いと思います。

(2) C/C++ は一般的なアプリケーションやWebのCGIなどほとんどなんにでも使用できます。Java はおおむね Web で使用する事が多いと思います。言語上はJava でも、アプレット、サーブレット、jsp など使い方が異なる形態のものがあります。サーブレットとjspはWebでしか使用しないと思いますが、アプレットだとjavaインタプリタがあれば、バソコンなどで動くアプリケーションも開発できます。
C#は詳しくは知りませんが、Microsoftが開発したもので、Visual C#等の開発ツールで開発します。

(3) まずは C/C++ でコンソールアプリを勉強した方が良いでしょう。
Java で Web の開発をを考えると、Java以外に HTML や JavaScript の勉強も合わせてしなければなりません。
言語の文法的には C/C++/Java はおなじで、標準的に持っているライブラリや関数が違うと理解して問題ないと思いますので、まずは文法的な勉強を C言語でやってみて、それからJava の勉強をした方が良いかと思います。

(4) 現状で言えば、Windows/UNIX に限らず C言語がなければ、現在のコンピュータは動作できていないでしょう。
C言語は UNIX-OS を開発するために開発された言語だと聞いています。
Java は今のところ Web開発には欠かせない言語だと言えます。
しかしながら、他の言語でも代替できますので、今後ともずっと必須であり続けるかは、わかりません。
質問のJavaの中に含まれているかは判りませんが、JavaScript について言えば、今のところ代替がなくWeb開発には必須です。

(5) プログラミングは全くの初めてだとするならば数カ月はかかると思いますが、何らかの他の言語をある程度使っているならば、1~2カ月で C言語は使える様になると思います。

これから勉強は始めようということであれば、一般にはC言語からはいるのが理解しやすいと思います。

(1) 一般にC++ は C にオブジェクト指向の機能(class の作成・使用など) を組み込んだ物と理解した方がよいでしょう。
とは言え、最近のCコンパイラは C++ の機能を持っているものが多いので、コンパイラを選択する場合はC++を選んで問題ありません。勉強する際には、まずC言語の基本的なものから初めて、それから C++ 特有のオブジェクト指向について勉強した方が良いと思います。

(2) C/C++ は一般...続きを読む

QJAVAでC/C++の条件コンパイルのようなことはできないでしょうか?

JAVAでC/C++の条件コンパイルのようなことはできないでしょうか?


実行時に判断するのじゃなくて、
コンパイル時に判断するやり方ないですか?
開発ツール等の環境設定でやるとかじゃなくて・・。
C/C++の条件コンパイルのように、
ソースコーディングすることで、行うやり方。


(たとえば)

もし、JDK1.4よりもバージョンがひくければ、


JDK1.3以前でも、存在するクラスを使って
メイクする。
その代わりすごいおそーいけどね・・・。


もし、JDK1.4以上であれば

とても、パフォーマンスのよいクラスを使った
コードをメイクする。
その代わりこれは1.4以上でないと
コンパイルできないけどね。





みたいな感じで、
実行時じゃなくて、
コンパイル時にソースコード
で条件分岐させてしまうやりかたないですかぁ。
(ないだろうなぁ。)


args[0]で起動時の引数で
実行時判断させようとしても、
そもそも、1.4からでてきたクラスとかだと
1.3ではコンパイルすらできない


あと、
できれば、したい実現したい機能だけど、
それをするには1.4から登場した
クラスを使わなければできないので、
1.3ではあきらめてもらい(そういう仕様にしてもらって)
しないようにしようと思ったとする。
そして、
その処理が入ってない1.3版と、
その処理が入ってると1.4版とで、
その差分のせいで、
ソースのバージョンを2種類設ける
ということを絶対にやりたくない時とか。

どうするんだろう・・。

JAVAでC/C++の条件コンパイルのようなことはできないでしょうか?


実行時に判断するのじゃなくて、
コンパイル時に判断するやり方ないですか?
開発ツール等の環境設定でやるとかじゃなくて・・。
C/C++の条件コンパイルのように、
ソースコーディングすることで、行うやり方。


(たとえば)

もし、JDK1.4よりもバージョンがひくければ、


JDK1.3以前でも、存在するクラスを使って
メイクする。
その代わりすごいおそーいけどね・・・。


もし、JDK1.4以上であれば

とても、パフォー...続きを読む

Aベストアンサー

できないようですが...
こちらの「-理由08- #if」のところに書かれているのが間違いなければ。
http://www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_03.html

参考URL:http://www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_03.html

Q円周の計算で妙な端数が出るのはなぜなのでしょう?

同様の質問が何度もあったかもしれませんが、検索しきれず投稿させていただくこととなりました。
申し訳ございません。

コンソールから数値(半径)を入力させて、円周を求めるプログラムです。

=================================================

public class ensyu {

public static void main(String args[])
throws IOException {

String kazu;
double hankei, enshu;
double pai = 3.14;

System.out.println("円の半径(cm)を入力?");

BufferedReader abc =
new BufferedReader(new InputStreamReader(System.in));

kazu = abc.readLine();

hankei = Double.parseDouble(kazu);
enshu = 2.0 * pai * hankei;

System.out.println("半径" + hankei + "cmのとき");
System.out.println("円周 = " + enshu + "cm");

}
}

=================================================

さてこのプログラムを実行すると、
例えば「6」と入力した時は、「37.68cm」と出力されますが、
「5」と入力すると、「31.400000000000002cm」という
きわめて半端な数字が出力されます。
3.14×2×5ということで、
暗算だったらとても喜ばれそうな計算しやすい値であるにもかかわらず、
このような値が出力されるのはなぜなのでしょう?
他にも「10」で「62.800000000000004cm」、
「2.5」で「15.700000000000001cm」となりましたが、
「12.5」の時は「78.5cm」と、ちゃんと小数第1位で止まりました。

実は仲間うちでJavaの勉強会を開いておりまして、
大半が初心者ですので、回避策というよりは
「なぜ?」の部分に特化してご教示いただけたらと存じます。

初歩的な質問でお恥ずかしい限りです・・・。
お手数をおかけいたしますが、
何卒よろしくお願い申し上げます。

同様の質問が何度もあったかもしれませんが、検索しきれず投稿させていただくこととなりました。
申し訳ございません。

コンソールから数値(半径)を入力させて、円周を求めるプログラムです。

=================================================

public class ensyu {

public static void main(String args[])
throws IOException {

String kazu;
double hankei, enshu;
double pai = 3.14;

System.out.println("円の半径(cm)を入力?");

BufferedReader ...続きを読む

Aベストアンサー

double型は浮動小数点でして、これを二進数で表した場合、数字によっては厳密な表現が出来ないため、近似値となります。それが端数となってあらわれます。

参考URLもご参照下さい。

参考URL:http://www.gimlay.org/~javafaq/S029.html

QC++でconstを使う理由

C++のconstについての質問です。
値を変更しないというのがconstの役割のようですが、値を変更しないと分かっているものは全てconstを書くようにしていますか?

例えば以下のサイトではconstが省略されています。
http://www.alpha-net.ne.jp/users2/junchoon/tips017.html
このhwndはconstが省略されています。
static void on_create(HWND hwnd){
WM_TASKBARCREATED = RegisterWindowMessage("TaskbarCreated");
icon_add(hwnd);}
です。

これが特別というわけでもなく、どちらかというとconstが書かれていないことが多いようです。

あなたがconstを使う理由を教えてください。

Aベストアンサー

私は積極的にconstを使っています。
constはプログラミングする際に誤りを減らすためのものです。
昔のC言語など、constがない言語では定数として扱っている変数に誤って代入してしまうことがありますが、constを使うことによってそういったバグは、コンパイル段階で発見できます。
また関数そのものをconstにすることによって、メンバー変数の内容を変更しないということを保障できます。

Qeclipse で JAVAもC++も開発したい

C++をやっていて、最近JAVAもプログラムするようになったのですが、
JAVAで使うeclipseが非常に便利なので、これをC++で使えないかと思っています。

http://www.eclipse.org/downloads/
を見ると、JAVAを使うためのeclipseとC++を使うためのeclipseは別々に用意されているようなのですが、二つ eclipse をインストールするとディスクがもったいない気がします。

● eclispe 一つで JAVAとC++の開発は出来ないのでしょうか?

Aベストアンサー

>JAVAを使うためのeclipseとC++を使うためのeclipseは
>別々に用意されているようなのですが
Eclipseはいろいろなプラグイン(機能追加用プログラム)
を組み合わせる事によって、機能を追加・変更する事が
できます。
Java以外の多数の言語にも対応していますし、使用可能な
ツール類も多種多様な物があります。
しかし、どれが必要かを選ぶのは各人の使用目的によって
異なります。
>http://www.eclipse.org/downloads/
では、目的に合わせて標準的に必要なプラグインを揃えた
パッケージが用意されています。
あとは、目的に応じてプラグインの追加による機能の追加
拡張が可能です。


人気Q&Aランキング

おすすめ情報