ホームページ目次前の話次の話

Javaの互換性はどこまであるのだろうか

2004年3月6日

今年になって、もう2ヶ月以上が過ぎてしまったようだ。このページの更新も 2月はやるのを忘れていたというか、あっという間に、2月が終ってしまったのである。 1日長かったはずだが、やはり2月なので短かったのであろう。

最近は、何故か、机の上に、様々なパソコンが並んでいる。 取りあえず、現在は6台なので、何とかなっている。 足の置場に困ったときには、パソコンケースの上に足を伸ばして作業していることもある。 もちろん、足でコンピュータの体温を計りながらやっていると、 異常を早く検出できるというメリットもあるので、是非やってみよう。

マシン群の中には、何故かMacも入っている。もうかなり古いiMac、それもピンクのやつ。 まあ、これが余っていたので、借りてきて置いている。 「自作マシンは似合うが、Macは似合わない」というとんでもない人もいたが、 無視して作業を続けている。

なんでこんなに並べているかというと、パソコン初心者が作ったJavaアプレットが ちゃんとどのような環境でも動くのか検証するためである。 久々にJavaと戯れているので、用心するにこしたことはないということで、 多数のマシンがある。もちろん、OSのバージョンを切り替えたりすることも多いので、 頻繁にブートしている。

Windowsにはどうも嫌われているようで、使うと画面が青くなることが多かったので、 プログラムはひたすらLinuxでちんたら作っている。 それでも、何千行かのプログラムが動くようなったので、色々なマシンで、 色々なバージョンのOSの上で、色々なブラウザの上で動かしている。 色々なところで動いて欲しいというのもあって、新しいJavaVMが入っていない マシンでも動作チェックをしている。

まあ、これだけでも、とんでもない組み合わせがあるのだが、Javaといっても、 Sun microsystems の Sun Java だけではなく、 M$ Java というのも出回っていて、 親切にもどちらでも動くようにと作っている。我ながら、極度に親切だと思う。

さて、Javaの本によると、 「一度プログラムしてしまえば、どこででも同じように動く夢の言語 Java」 とか書かれていたりするが、現実にはそんなことはちっともない。

業務用のプログラムであれば、通常は特定の環境できちんんと動作すれば、 それで事が足りる場合が殆どなので、それほど面倒ではない。 本にかかれている、どんなところでも使えるようなプログラムが間単に書け るということを実現しようとすると、実は飛んでもなく苦労する。

一度なんか、昔からよく使われているイメージ関連のクラスを使ったプログラムを 作って、Sun Javaで軽快に、理想的に動いた。 それが、MS Javaで動作テストをしたら、 「そんなものはない!」なんてエラーが出てしまって、結局プログラムを捨ててしまった。

もっと細かいことまで言えば、もう問題だらけである。 動作しないと、Googleで、そういうバグが紹介されているのではないかと探し回る毎日だ。 Linux上で、Sun Java で動作させるまでの時間よりも多くの時間が、 Javaの非互換性のために浪費されていく。まったく困ったもんだ。

どこかに、非互換性とバグを集大成したようなサイトは無いのだろうか。 通常のマニュアルは、java.sun.comのを使っているのだが、トラブル情報こそもっと欲しい。

プログラムの動作テストのためにローマ字入力をやり続けていたら、 指の調子が悪くなってきたので、指休めとして、この雑文を書いたが、 おかげで、少し指も頭も休まったようだ。


ホームページ目次前の話次の話