はじめての
Javaプログラミング入門

Boo-Ho Yang 監修
12Cソリューションズ 著
ダイエックス出版 発行
2002年5月
297ページ+CD-ROM
2400円(本体)
bk1で購入する
Javaプログラミング
徹底入門 基礎編

内田 智史 著
電波新聞社 発行
2002年6月
507ページ+CD-ROM
2800円(本体)
bk1で購入する
Javaプログラミング
Black Book
2nd Edition

Steven Holzner 著
武藤 健志 監修
トップスタジオ 訳
インプレス 発行
2002年3月
897ページ+CD-ROM
3800円(本体)
bk1で購入する
Java2 J2SE1.4
John Zukowski 著
高坂 一城,神戸 博之 監修
クイープ 訳
IDGジャパン 発行
2002年10月
689ページ
6600円(本体)
bk1で購入する

オーソドックスな教科書と
個性的な教科書

 J2SE(Java2 Platform, Standard Edition)を使ったJavaの教科書の紹介から始めよう。Javaの教科書はとにかく出版点数が多く,一冊一冊が少しずつ異なる読者像を想定している。最終的には現物を手に取って自分に合った本を選ぶのが一番良いと思うが,その際は,手に取った本がオーソドックスなアプローチを採っているのか,それとも個性的なアプローチを採っているのかを少し考えてみるのがよいだろう。ここでは,オーソドックスなものを4冊,個性的なものを4冊,教科書の例として挙げる。

 「はじめてのJavaプログラミング入門」,「Javaプログラミング徹底入門 基礎編」,「JavaプログラミングBlack Book 2nd Edition」,「Java2 J2SE1.4」はいずれもオーソドックスなJavaの教科書だ。最初の3冊にはJ2SEと掲載したサンプル・プログラムのソースコードを収録したCD-ROMが付属する。「Java2 J2SE1.4」にはCD-ROMが付かないが,J2SEを米Sun MicrosystemsのWebサイトからダウンロードする方法を説明しているし,出版社のWebサイトからソースコードの書庫ファイルをダウンロードできる。

 どの本もJavaとは何かを説明するところから始まり,J2SEのインストール方法,System.out.printlnメソッドを使って文字列を表示するプログラムの書き方,javacコマンドによるコンパイル,javaコマンドによる実行,を説明している。Javaでプログラムを作った経験がなくても,本に書かれた手順に従えばよい。4冊はページ数や価格に違いがあるが,スタート地点は変わらない。どの本も入門書として利用できる。

 「はじめてのJavaプログラミング入門」の特徴はその薄さである。297ページしかないので軽く,価格も2400円と手頃だ。この厚さなら,持ち運んで電車の中などで読める。最初から最後まで読み通す,またサンプルを打ち通すのも,ほかの教科書より楽なので,中途で挫折する危険が少ない。

 この本の薄さは,内容を厳選した価値ある薄さである。最初のプログラムを書いた後に出てくるのは,変数,文字列,演算子,実行制御,関数(メソッド)作成,クラス作成,例外処理,クラスライブラリの利用(String,System,Integer,StringBuffer,Math,Vector),ストリーム入出力だけだ。クラスライブラリの説明を使用頻度が高いものに絞り込んでいるところが興味深い。監修者と著者は現在Javaによるソフト開発やJava技術者教育を行う会社にいる。その経験が,現在のビジネス系Java開発に求められる要素を過不足なくまとめるのに役立っているのだろう。

 「Javaプログラミング徹底入門 基礎編」の著者,内田智史氏は,オーム社が出しているC言語教科書のロングセラー「C言語によるプログラミング」(72ページで紹介)の編著者として知られる人物だ。今回の本は,それに似た,日本の大学や専門学校が使う教科書の雰囲気を持っている。その手の堅実な雰囲気が好きなら良いチョイスになるだろう。

 評価が分かれるのは,説明が丁寧な点,取り上げるトピックが少しアカデミックな方向に振れている点だろう。丁寧なのはよいことなのだが,読んでいてなかなか進めないと感じることがある。基礎編に続いて応用編,実用編を刊行する予定だということだが,全部を読み切るにはかなりの時間がかかりそうだ。トピックも,計算,ウィンドウ表示,実行制御,オブジェクト指向,リスナー,メニュー,ダイアログで基礎編が終わる。前述した「はじめてのJavaプログラミング入門」と比べると,トピックの優先順位がかなり異なる。

 「JavaプログラミングBlack Book」の著者はこの本のことを「Javaプログラミングの総合書」と呼び,「本書の目的はJavaに関するすべての情報をすぐに使える状態で揃えることなので,特に難しい項目を省くつもりもない」と述べている。情報を省くことをせず,きちんと書かれている本として有用だ。話題にはAWT(Abstract Window Toolkit),入出力ストリームとファイル,コレクション,マルチスレッド,XML(Extensible Markup Language)が入っている。ただ,Swingは別の本「Java SwingプログラミングBlack Book」(インプレス発行,2000年10月)に分けている。サーバー・プログラミングについての解説は少しだけだ。

 随所に散りばめられているストーリーもいい。たとえば

上司:「Javaを書けるようになったか? ちょっとやってみてくれ」
私は端末に向かったが,頭の中は真っ白だ。

といった具合である。こういう息抜きがあるだけでも,読み続けるのがずいぶん楽になるものだ。

 「Java2 J2SE1.4」は,J2SEのカバー範囲をバランス良く一冊で読めるところに大きな価値がある。「Javaの基礎」(約170ページ)と「Javaライブラリの詳細」(約480ページ)から成り,マルチスレッド,2Dグラフィックス,Swing,コレクション,数値計算ライブラリ,ネットワーク・プログラミングなどを比較的スピーディに解説する。J2SEの1.4に合わせて書き起こされた新しい本であるため,トピックごとのページ配分が今の状況をうまく反映している。簡潔な文章にも好感が持てる。

はじめてのJava
完全入門

柏原 正三 著
技術評論社 発行
2002年5月
495ページ
2580円(本体)
bk1で購入する
Java言語 上
基本プログラミング編

広内 哲夫 著
ピアソン・エデュケーション 発行
2002年11月
323ページ+CD-ROM
3400円(本体)
bk1で購入する

普通の教科書で
納得できない場合の2冊

 個性的な教科書に話を進めよう。「はじめてのJava完全入門」と「Java言語 上 基本プログラミング編」は,オーソドックスな教科書を読んで「なんか居心地が悪い」,「Javaってどうも好きになれない」といったモヤモヤが生じた人にお薦めの本だ。

 「はじめてのJava完全入門」の著者は「Javaには『順方向』(なだらかに新しい概念を導入していくアプローチ)と『逆方向』(別の習得済みの言語の概念に無理に当てはめようとするアプローチの2つの学習方向性があります」と述べている。で,この本はその「順方向」を貫徹する本なのだ。495ページの本にしては話題は少なく,「さっさと進みたい」,「書けて動けばオッケー」という人はイライラするだろう。しかし,じっくりやるのが一番だ,と思う人は手に取ってみていただきたい。

 「Java言語 上 基本プログラミング編」は,評者に「こういう書き方をするか!」という驚きを与えた。この上巻で手続き型(構造化)プログラミングを解説し,まだ刊行されていない下巻でオブジェクト指向プログラミングを解説するという。つまり,この本全部を読んでも,オブジェクト指向の話はまったく出てこないのだ。それでも,変数,定数,演算子,標準入出力,実行制御,配列,関数,文字列,ビット処理,例外処理,ファイル処理をカバーしているので,この本を読んだだけで,そこそこ実用的なプログラムを書けるようになる。

 著者は前書きで「初心者はオブジェクト指向の概念を理解することに気や時間を取られてしまい,動くプログラムを作る作業になかなか踏み込めないのです」と述べている。まったく同感だ。Javaはオブジェクト指向プログラミングができるように作られているが,オブジェクト指向プログラミングをしなければいけないわけではないのである。

 最初に書いた通り,Javaの本は多いし,特にJavaの教科書はあまりに多くて困惑するほどだ。しかし,ここに挙げたような個性的な書物が出てきたのは,Javaの本がたくさん刊行されたおかげだ。選択の範囲が広がったと考えて,自分に合った教科書選びを楽しむことにしよう。