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

C言語とJavaの違いの1つとして間違えていたら教えて下さい。
「C言語はコンパイル時に環境に応じて異なるモジュールが作成される危険性がでる場合があるのに対して、JavaはJavaVMという処理系でプラットフォームの違いを吸収されるので、JavaVMが搭載されていればどの環境でもJavaプログラムは動かすことができるでよいのでしょうか?」

A 回答 (2件)

>C言語はコンパイル時に環境に応じて異なるモジュールが作成される危険性がでる場合がある



まずこれが少し違います。
C言語をはじめとする古い言語全てですが、対象環境に応じたコンパイルを行います。ので、「異なる危険性」ではなく、単純に「異なる」のです。例えばWindows用にコンパイルしたモジュールはUNIX上では絶対に動きません。


Javeの本来のウリは、ご存知のことと思いますが「Write Once, Run Anywhere.」です。で、実際にどの環境でも動かすことができます。しかし環境依存の処理を行っていれば環境により「正常には」動かなくなることがあります。まぁ当たり前の話ですが…。

例えば、オラクル独自拡張のSQLを記述していれば他のDBを使用するようにしたら動きませんし、Windows独自形式のファイルパスの記述形式でファイルを指定していたら、UNIX上ではファイルの読込みに失敗するでしょう。

ですので、実際の開発の現場では、このような環境依存の処理を回避することができる対応能力が求められます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
確かに!っとおもいました。的確な指摘ありがとうございます。

お礼日時:2006/02/13 04:22

違いの一つとしては、まぁ正解です。



但し、Java言語はプラットフォームの違いを吸収するのがウリになっていますけど、現実はなかなか・・・
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2006/02/12 22:17

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