「Javaでなぜつくるのか」 米持幸寿 著

Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識
Javaの利点が並べられているだけで、期待した内容とはちょっと違っていた。新しく作られる言語はみんな何かしら利点を持っている。それでも広まっていく言語と淘汰される言語がある。俺が知りたかったのはなぜJavaだったのかということなんだけど、そこがぴんと来なかった。利点を並べるだけなら広まらなかった言語でも出来るだろうと思う。
OSを隠蔽するのでJavaで書いたコードはどのOSでも動くというのが利点だ、というのは分かるんだけど、なぜ対抗馬が出てこないのだろう。あるいは出てきたとしてもなぜ広まっていないんだろう。ハードウェアの違いを吸収するためにOSがある。あるOS用に書かれたソフトはハードウェアの影響を受けずにそのOSさえあれば動く。今度はそのOSを違いを吸収するためにバーチャルマシンを用意し、その上であればOSに関係なく動く。という流れの次にバーチャルマシンがいろいろ出てきて、それぞれのバーチャルマシン用のソフトを開発しなければいけない、という状況になぜならないのだろう。なぜバーチャルマシン市場にJavaの対抗馬が出てこないのだろう。いや、よく知らないけどC#は対抗馬か?
そういう疑問はこの本では解決されなかった。
Visual J++はなぜだめだったのか、組込み市場の話に触れるなら言語ではないけどJavaと同じように仕様であるITRONとの比較、言語的にはC++の他にC#との比較、そういったものがあっても良かったんじゃないか。Javaのことにしか触れないのでは、「なぜ他の言語ではなくJavaで作るのか」は伝わってこない。