Javaは当初家電用に作られた言語です.様々な家電上で動くようにするためにはプラットホームを選ばないようにする必要がありました.しかし結局家電で使われることは無く,消えかかっていた言語なのですが,丁度そのころインターネットが普及し,ハードウェア,OSの垣根を越えて動作することを目指したJava言語は大変都合の良いもので,現在PCはもとより,携帯電話,ICカードなど用途の幅は広がっています.
C言語などはコンパイラを通して実行ファイルを作成し,Awk言語などはインタープリターで読み込みながら実行します.Javaはコンパイラでバイトコードという中間言語を作成した上でJVMによってインタープリター型言語のように実行します.こうしてJVMというバーチャルマシンをクッションにするとそれぞれの異なるプラットホームごとにJVMを用意するだけでどこでも動くようになるというわけです.ただし,現在では速度の問題で,インタープリターにはなっていないようです.
一度書いたらどこでも動くというのがモットーなJava言語ですが, Javaからプログラムを始める人の殆どはプラットホームを選ばないからというより簡単にGUIのプログラムを書くことができるということでしょう(アプレットは魅力的でしょうが).そこでC言語では大変な動きのあるプログラムを作成したいと思います.ここでも簡単で派手な物をできるだけ選びたいと思っています.
Java言語が出来た経緯にC,C++,Javaというような流れがあるようで,似ている部分も多いのですが,Javaは殆ど別物ですので,Cをやってなくても問題ないと思います.