GO BACK

Java教室 番外編その1


「Javaの書籍と開発ツールについて」(2003/12/13改訂)



■初心者向け解説書は注意が必要!


 Javaをやってみよう!と思う方からの質問でもっとも困るのが「初心者にもわかるオススメの本を紹介して下さい」というものです。なぜ困るかという と、なかなか手頃といえるものが少ないからです。

 最近では、iアプリなど携帯電話でJavaプログラムが広まってきたこともあってか、Javaが再びアマチュアプログラマに注目されるようになっ てきました。この影響か、入門書の類いもけっこう増えてきたように思います。ですが、「それを読めばJavaのプログラムが作れるようになるのか」となる と疑問に思えるものも多くあります。

 まず「Java入門書には、プログラミングの入門と、Javaそのものの入門がある」ということを知っておきましょう。前者は、Javaのプログ ラムを覚えるためのもので、後者は「Javaとは何か」を理解するためのものです。小さな版形で150〜250ページぐらいの薄くて図やイラストがいっぱ いの本は、後者であると思って下さい。それを読めばJavaについてよく理解できますが、Javaのプログラムが書けるようになるわけではありません。

 Javaは本格的なオブジェクト指向プログラミング言語ですし、Java2となって更に機能強化されていますから、まともに説明しようとすれば、 基礎だけで数百ページになるはずです。ですから、「薄い本はかなり省略した説明しかない」と考えるべきです。もし、あなたが「Javaに詳しいフリをして 人に自慢したい」というなら、この種の本は最適です。が、「Javaのプログラミングを覚えたい」ならこれらは不向きです。「300頁に満たない入門書は 買う価値などない」と明言しておきましょう。

 また、200〜300ページぐらいのあっさりした本で、中身は文字とソースコードばかり、というものもけっこうあります。これらは、既にJava がわかっている人向けのテクニカルな解説書です。ページ数の割に内容は濃いのですが、入門書としては難しいものがあります。

 では、いくつか「Javaのプログラミングを覚えるため」の入門書をあげておきたいと思います。



「独習Java」ジョゼフ・オニール著(翔泳社)

これは、翔泳社の定番シリーズの1つですね。ここの「独習〜」シリーズは、割とどれも安心して勧められます。もっともスタンダードな形の入門書と考えて下 さい。基本的な文法からストリームやスレッドなど、そしてAWTを中心としたGUIと、満遍なく一通りの機能をおさえてあります。これといった特徴はあり ませんが、一番安心して勧められるものでしょう。

「JavaプログラミングBlack Book」スティーブン・ホルツナー著(インプレス)

これは、なかなかわかりやすくて便利な1冊です。Javaの基本的な機能のソースコード例がざっと解説整理されてます。「ボタンを使う」「パネルを 使う」なんて具合にタイトルがあって、それを見れば、基本的コードがわかるってわけです。とりあえずJavaのことがごくざっと頭に入っているけど、詳し いことまでは暗記してない…という人には最適。コードを書きながら、「あれってどうやるんだっけ?」と思ったら引いて調べる、辞書感覚で使うとよいでしょ う。また、始めから順に読んでいけば、入門書としても十分役立ちます。一冊おいてあると重宝する本です。


「 EclipseではじめるJavaプログラミング入門」掌田津耶乃・著(秀和システム)
「Javaトレーニングブック」掌田津耶乃・著(ソーテック社)

ええと、まぁその、自分が書いた本もあげておかないとナンなので・・。最初のは、Eclipseというオープンソースの開発環境を使ってJavaを勉強する入門書です。これはJavaの基本から、AWTというGUIライブラリの使い方、そしてサーバサイドJavaの基本であるJSP/サーブレット、JDBCによるデータベースアクセスまでを一通り説明したものです。最近は「サーバサイドJava」をやりたくてJavaを始める人が多いので、最初からサーバサイドを視野に置いた入門書の方がよいだろうということで執筆しました。
 後者は、Java全般の入門書です。こちらはJavaの基本からAWTによるGUI開発まで、トレーニング問題付きで解説してあります。いわゆる参考書のようなスタイル。面白みはあまりないですが、本当にプログラミング経験がないという人がまじめに取り組むにはよいかと思います。


 とりあえず、比較的お勧めできる入門書をあげておきました。まあ、ごく一般的には「独習Java」が一番勧めやすいでしょう。意外にいいのが「Java プログラミングBlack Book」です。これ、入門書としてもかなりよくできているのですよ。それに機能ごとに細かく整理されているので、Javaの基礎を覚えた後も辞書的に長く使えます。700ページを超えるものなので初心者はちょっとビビッて買う気になれないかも知れませんが、長く使えることを考えればよい一冊です。

 Javaの入門書を買う時に注意しておきたいのが、「けっこう多くの本が、GUI関係を意外にはしょっている」ということです。本職の人が書くせいか、ストリームとかスレッドとかファイル操作とか、そういう部分にページを裂き、AWTを使ったウィンドウアプリケーションなどはごくざっと説明して終わり、というものが割と多いです。Java関係のサイトなどでおすすめ入門書としてよく登場する、高橋麻奈さんの「やさしいJava」などはその典型で、非常にわかりやすく詳しく丁寧に書かれているのですが、なぜかGUI関係の説明はほんの数ページだけです。仕事でJavaを勉強する羽目になった、という人にはこの本が一番いいのでしょうが・・。

 しかし、アマチュアでプログラムを作ってみたいという人の多くは、「プログラミングの詳しい説明はいいから、とりあえずウィンドウを表示させたい」という感じで考えてるんじゃないでしょうか。何十ページも何百ページも、ひたすらコマンドプロンプトに文字が出てくるだけのようなサンプルリストが続いて、楽しいですか?

 私個人の考えとしては、初めてプログラミングをする人には、なにより「プログラミングの楽しさ」を教えるべきであると思います。そういう意味でいえば、現在まで出版されているJava入門書は全て落第です。



■Javaの開発環境について


 JDKでも簡単なプログラミングはできますが、やはり本格的に使おうと思ったら専用の開発ツールを使ったほうがいいでしょう。が、従来はずいぶんといろいろなJava開発環境が出ていたんですが、現状ではほぼ EclipseとJBuilderの2本に絞られた感があります。


「JBuilder」ボーランド(Windows、Mac OS X、他)

ボーランドといえば「Delphi」で有名な会社ですが、そのDelphiのインターフェイスを使って開発されたJavaのツールがJBuilderです。これはいくつかのエディションが出てるんですが、一番下の「Personal版」というのは、なんと、無料なのです! ボーランドに利用登録をするだけで使うことができます。
 JBuilderではフォームエディタとソースコードエディタがタブで切り替えるようになっており、フォームエディタでマウスを使ってウィンドウなどを設計し、タブを切り替えるとそのソースコードが表示される、という感じになっています。JBuilderは、とにかくコードの解析が秀逸です。どんな書き方でコードを書いても、全て解析しフォームエディタで編集可能となります。
 既にDelphiなどボーランド製品を使っているなら、ほとんど説明の要もないくらいに自然に使うことができるでしょう。また全くの初心者でも、ある程度基本操作を覚えれば、あとはかなり楽に開発ができるはずです。

「NetBeans」Sun Microsystems、NetBeans.org(Windows、Mac OS X用など)

これは、オープンソースの開発環境です。Mac OS Xでも動きます。ちょっとファイル管理が独特で慣れがいるということと、JBuilderと違い「デザイナが出力したソースコードは一切いじれない」という点が特徴です。逆に「GUIなどは全部デザイナおまかせ」と割り切ってしまえば、非常にシンプルで快適です。

「Eclipse」(Windows、Mac OS X用など)

これも、オープンソースの開発環境です。ベースはIBMが開発していたものを更に発展させたものということです。プラグインにより非常に柔軟に拡張でき、多くのJava開発で既に多用されています。とても面白いツールなんですが、基本的に「GUIベースのアプリケーション開発で用いるためのものではない」と思って良いでしょう。いえ、もちろんそうい う開発もできますが、デフォルトではビジュアルデザイナの類いはないので、GUIもすべてコードで記述しないといけません。

 現時点(2004.12月)では、JBuilderはver. 2005が配付されており、これが現状では一番のお勧めでしょう。また、GUIベースのプログラムよりもサーバサイドなどが中心という場合は、Eclipseのほうが便利かもしれません。どれも無償配付されているエディションがありますから、いろいろ試してみて、自分にあった方を使うのがよいでしょう。私個人としては、今はEclipseを使うことの方が多くなっています。
 この他、Mac OS Xの場合は、標準で付属する Xcoderでも開発することができます。ただし、これはGUIをビジュアルに設計できないので、ちょっと面倒です。個人的にはJBuilderのほうをお勧めします。


※このページは、時間が経過して状況が変わってきたら、適時改定していくつもりです。



GO NEXT


GO HOME