前回あれだけPythonのよさを書いておいて、じゃあなんでJavaを学ぼうだなんて思ったのか。その理由は簡単です。それをちょっと書いてみようかと思います。
プログラムを学ぶならPerlよりもPythonといった理由は、整備されたPython 標準ドキュメントが利用できるからといったものでした。ドキュメントが整備されているかどうかというのはプログラムの学習においては実に重要なことで、これがないという状況を語学に例えるならば、辞書も文法書もなしに慣れない言語で作文をしようという暴挙に似ています。読んでなんとなくわかるからと、既存の文章を切り貼りしてそれなりの文章を作り上げるというのもひとつの手段ですが、それだけでは足りません。ほかの誰かが書こうとしないものを書きたくなったときに、きっと困ってしまうことでしょう。
Perlの場合、webに氾濫している参考書は結局CGIを書くためのものがほとんどなので、Perlの利用範囲をよりもっと広いものにしたいと考えた場合には本を買うことになるでしょう。ですが、Pythonなら標準ドキュメントが、充実したチュートリアルもあわせて利用できるのです。
Javaの状況はPythonに似ています。JavaはSun Microsystemsの作った言語で、日本語のサイトも用意されています(中途半端ですが)。しかし重要なのはしっかりしたドキュメントが用意されていることでしょう。API仕様書は嬉しかった。web上の記事や本で紹介されているJavaのコードでは、クラスのパッケージを省略してあることが多くて、例えばFileと書いてある場合、それはjava.io.Fileなのですが、もし私がまだFileを知らなかったら、どのパッケージをインポートしたらよいかわからないでしょう。ですがAPI仕様書があれば、そのクラスがどのパッケージに含まれるか調べることができるわけで、これは非常にありがたいことです。
さらにJavaの利点があります。それは開発環境を入手できること。私は最初のJavaプログラムをWindows上のEmacsであるMeadowで作成しました。ですがこれは結構骨で、後にJava専用の開発環境でプログラムを書いたのですが、その楽なことったらありませんでした。
私の知っているJava開発環境はNetBeans IDEとEclipseで、両方ともオープンソースですから無料で利用できます。評判がいいのはEclipseですが、私が使っているのはNetBeansです。Eclipseは知人が使いはじめました。感想を聞けば、よくできている、GUIのデザインツール以外はということでした。だから、いつか私もEclipseを導入するかも知れません。ですが、もうしばらくはNetBeansを使ってみようと思っています。
このようにJavaをめぐる環境は結構充実しているのです。@IT - アットマーク・アイティにはJava Solutionというカテゴリもあって、入門から最新情報まで包括的な情報が扱われていますし、それに@ITに限らずさまざまなところからサンプルやコード例を入手して参考にすることが可能です。
とまあ、こんな感じでJavaを学習しようという気になったのですが、ですが多分一番大きな理由は、Javaがクロスプラットフォームを実現するということでしょう。私が作るJavaプログラムは、MacintoshでもWindowsでも、Unix、Linuxでも動作する可能性を持っています(もちろん、うまく作れたらの話です)。私はこうしたところに魅力を感じて、Javaをやってみたいと思ったのだと思います。