[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: ネイティブコンパイラ
前橋です。
Javaネイティヴコンパイラを使ったことはないですが。
井浪さん:
>「ネイティブコンパイラが欲しい」人たちって、理由がいまいち不
>明なことが有りますよね(^^;
>
>1.速度の改善
>2.コマンドや環境変数の設定をしたくない
>3.(2)に近いけど、不特定多数をターゲットにしたいので(Windows
> 用のシェアウェアを、プログラミングが簡単なJavaで作りたい、
> とか?) JREや Swingダウンロードの手間をかけさせたくない。
Javaが遅くなる理由ってのは、いくつかあって、
# Arkを見た限りでは、やっぱりJavaって遅いです。
(1)インタプリタだから遅い。
(2)オブジェクト指向だから遅い。
- カプセル化のため、メソッドを呼ばなければならない。
- 遅延バインディングのため、メソッド呼び出しが遅い。
- インタフェースではさらに遅い。
(3)ヒープを使いまくるから遅い。または、GCが遅い。
これぐらいだと思うのですが、このうちネイティヴコンパイラが解
決してくれるとしたら、(1)だけですよね。
まるっきり憶測ですが、(2), (3)の要因も、それなりに大きいと私
は思うのですが、どうでしょう。処理の所要時間を2〜3倍にしてし
まう程度には。
もちろん、CやC++でも、同じようなコーディングをすれば同じぐら
い遅くなるかもしれませんが、Javaの場合、より遅いコーディング
をする傾向があるはずです。
# もちろん、そういうコーディングには、効率は悪くても、それだ
# けのメリットはあるでしょう。
あと、Javaって、言語仕様を決める時点で、ある程度遅くなること
を覚悟していた言語だと思うんですよ。メソッドについて、C++で
いうvirtualがデフォルトになっている所あたりにそんな感じが。
# それでも、LispやSmalltalkに比べれば... :-p
>他には、何か有りますか?
>(3の需要が多そうな気が)
確かに、この需要は多そうですね。
>この手の「ネイティブコンパイラ」で、本当に exeだけで動くと
>いうシロモノを作るものはあるんでしょうか(^^;
Windowsを使う限り、DLLなしで動くシロモノっつーのは存在し得な
いような気が。Windows自体DLLの塊ですし、しかも、そのDLLが、
アプリをインストールする度にパコパコ置き換わってしまうので...
------------------------------------------------------------
前橋 和弥 maebashi@xxxxxxxxxx
中部ソフトエンジニアリング(株)
〒450 名古屋市中村区名駅4-10-25(名駅IMAIビル 5F)
Tel:(052)583-4511(代) 内線 252 Fax:(052)583-4566
------------------------------------------------------------