• ベストアンサー

C言語とJavaの違い

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>C言語はコンパイル時に環境に応じて異なるモジュールが作成される危険性がでる場合がある まずこれが少し違います。 C言語をはじめとする古い言語全てですが、対象環境に応じたコンパイルを行います。ので、「異なる危険性」ではなく、単純に「異なる」のです。例えばWindows用にコンパイルしたモジュールはUNIX上では絶対に動きません。 Javeの本来のウリは、ご存知のことと思いますが「Write Once, Run Anywhere.」です。で、実際にどの環境でも動かすことができます。しかし環境依存の処理を行っていれば環境により「正常には」動かなくなることがあります。まぁ当たり前の話ですが…。 例えば、オラクル独自拡張のSQLを記述していれば他のDBを使用するようにしたら動きませんし、Windows独自形式のファイルパスの記述形式でファイルを指定していたら、UNIX上ではファイルの読込みに失敗するでしょう。 ですので、実際の開発の現場では、このような環境依存の処理を回避することができる対応能力が求められます。

hirohiro8888
質問者

お礼

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

その他の回答 (1)

回答No.1

違いの一つとしては、まぁ正解です。 但し、Java言語はプラットフォームの違いを吸収するのがウリになっていますけど、現実はなかなか・・・

hirohiro8888
質問者

お礼

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

関連するQ&A