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