• 締切済み

C言語とJava言語について

C言語とJava言語で作成されたソフトウェアの違いについて教えてください。

みんなの回答

回答No.2

C言語はネイティブアプリが作れる。 Javaは基本的にはJavaVM(仮想マシン)上で動く中間コンパイルされた物になる。 ただし基本的と言うことで応用的というかJavaもネイティブコンパイルしてネイティブコードを生成する事ができるgcjと言うコンパイラが存在する。 WebサーバサイドのシステムとしてC言語は初期の頃には一部使われていたが今はその部分にJavaに取って代わられている。(JSP/Java Servlet) C言語はメモリ管理も自分でやる必要があるので下手なプログラマが作ったプログラムは無駄にメインメモリを消費し続けるだけのアプリになる。それによってセキュリティーホールになったりクラッシュしたりするアプリになる。 それに対してJavaはガベージコレクションに対応しているので基本的には自分でメモリの管理をする必要がない。

tatsuo2
質問者

お礼

ありがとうございます。

回答No.1

C言語とJava言語には実行される環境に違いがあります。 C言語は、コンパイルされた実行ファイルがOS上で実行されるのに対して Java言語は、仮想マシンを介して実行されます。 仮想マシンを介するメリットとしては、OS(Windows、Linux等)の違いを仮想マシン上で補完してくれる為移植性が高いです。 逆にC言語で作成されたソフトウェアはOS上で直接実行される為、移植性が低くなりがちです。 しかし、その分実行スピードが速かったり、OS固有の操作をやりやすかったりします。 主な活用範囲としては、 C言語は、自動車の制御やゲーム作成などによく使われています。 Java言語は、業務アプリの作成等によく使われています。 ですがもちろん、Javaでゲームを作ることだってできますし、C言語で業務アプリを作成することももちろん出来ます。

tatsuo2
質問者

お礼

ありがとうございます。

関連するQ&A