実際の現場に詳しいわけではありませんが、今売られているWindowsソフトの多くは、C++で書かれているようです。
C言語はコンパイルするとネイティブコードになり、実行速度が高速という利点があります。
対して今回の主役Javaは、コンパイルで中間コードが作成され、実行するときは仮想マシンの上で動くため、実行速度は少し遅めです。
ここまでで考えるとCの方が優れているように思えますが、例えばWindowsだけでなくMacやLinuxでも動くソフトを作ろうとすると、環境にあわせて使うライブラリを変えなくてはならず、作り分けなくてはなりません。
また、それぞれのOSについての知識も必要になってくるため、習得や開発にかなりの手間がかかってしまいます。
ここでJavaの出番です!!
Javaならば一度書けばどの環境でも動きます。
楽チンですね!
※OSに依存する部分は作り分けなくてはなりません。
また、最大の欠点の一つ、実行速度の遅さも最近はマシンのスペック向上によって克服されつつあります。
大企業で使う、大量の処理を行うソフトはわかりませんが、個人で使うソフトならJavaで十分といえるでしょう。
確かにプログラマーたるもの、自分が開発をするターゲットにあわせて柔軟に対応できたほうがいいと思います。
WindowsではVisual C++、MacではObjective-C、Linuxではgccとメジャーな言語で作りわけていらっしゃるプログラマーの方には頭が下がります。
私はプログラマーを目指しているわけではなく、あくまでもコンピュータをツールとしてとらえ、そのツールをより便利にする手段としてプログラミングの習得を目指していますので、環境に依存しないJavaを極めて行くことにしました。
よくよく考えてみると、環境によって作りわけなくてはならないのではアッセンブリと変わらないとも思います。
そういう意味でJavaは超高級言語ですね。
実は、いつしか憧れのMacをゲットしたとき、Windowsでのスキルがほぼそのまま使えるというのが、Javaメインでいこうと決めた最大の決め手でした(笑)
もしかするとWindowsは二度と使わないかもしれないので、visual C++
はちょっと…。
Macが気に入ったら、Objective-Cを覚えようと思います。
これからプログラミングを始めたいけど、将来Macを使いたいと考えている方はとりあえずJavaを勉強しておくといいでしょう。
Macの魅力、欲しいわけは後の記事で紹介することにしましょう。