2000/09/14
JAVAの話
サンマイクロシステムズのJAVAの試験(SunCertifiedJavaProgrammer)を受けてみました。70%以上取れば合格ということでしたが、91%取って合格しました。
しかし、JAVAは予想した通り、やればやるほど使えない言語だというのがよくわかります。JAVAは本来、オブジェクト言語の最高峰としてC++言語すら越える言語と目されていました。ですが、この言語ではどうあがいても次世代を取ることはできません。基本的にJAVAの利点てなに一つないですから。一応利点としてよく挙げられるのがあらゆるコンピュータ上で実行できること、ですが、これも実はJVM(JAVAバーチャルマシン)というエミュレータの上で動かすからで、旧NECのPC98シリーズのソフトがAT互換機上で動く、と言っているようなものです。エミュレータはエミュレートしないものに関しては早いのですがJVM自体がヴァーチャル、つまり仮想マシンである以上、どのマシンで実行したとしてもエミュレートする分、遅いのです。しかも言語自体はインタプリタ(逐次翻訳逐次実行)言語。これで早くなったら奇跡です。同じインタプリタ言語ならPERLのほうがはるかに早いです。アプレット機能もJAVAの大きな特徴です。これはサーバが言語を実行するのではなく、そこにアクセスしたクライアントマシンがソースをダウンロードして実行するという方法で、サーバへの負荷が減ることになっていますが、上記のJVMを立ち上げる関係上クライアントに異様な負荷がかかります(ブラウザでJAVAを使用しているWebPageに行くと最初に固まるのはそのためです)。言語自体も出来る機能が少なすぎます。たとえばポインタがないというのにも期待しましたが、実際には全てをポインタ参照しているだけ。ポインタがないのではなくポインタに見えないだけで、かえってポインタのポインタが使えないとか、ガベージコレクションという勝手にメモリを開放してくれる機能とかありますが、実際には無駄にメモリを消費するだけだったり。
私はたしかに資格はとりましたが、今後JAVAを強力にプッシュする気にはなれませんね。今のままではこの言語に未来はないと言ってしまいます。


 

Topへ