すべての人のためのJavaプログラミング

本書前書き

本書初版が出版されて、7年が経った。その間、多くの学校で Java 言語の教科書として使っていただき、読者の皆様のお役にたてたことを嬉しく思っている。

本書初版は、プログラミング初心者を対象としながらも、この一冊で実際に役に立つプログラムを書けるレベルまで到達できる教科書を目指していた。そのために、前半ではネットワークからダウンロードしてきたタートルグラフィックスのライブラリを用いながらオブジェクト指向を中心とした Java 言語の説明を行った。また、後半では、グラフィカルユーザーインターフェースを中心とした標準クラスライブラリの利用方法を解説した。皆さんから頂いた感想からも、私たちがこの本を教科書として Java 言語を教えてきた経験からも、この枠組みは正解であったと確信している。

しかし、初版では、教科書として広く利用してもらうためにページ数を抑えることを意識しすぎたために、初心者が学んでいく順番というよりも Java 言語の論理的な構造を追う順番で説明がなされていたり、あるいは一つの例題に多くのことが詰め込まれたりして、難しい記述になった部分があった。実際、プログラミングを少し勉強したことのある人には Java 言語の概念が分かるよい教科書と評価してもらえたが、プログラミングの初心者からは、「これのどこが『すべての人のための』なの?」という批判も聞かれた。また、後半の標準クラスライブラリの解説では頻繁に利用されるものでも説明を省略せざるおえず、授業中に追加のプリントを配布する必要があった。

今回の改訂では、2004 年に発表された Java SE 5.0 での言語仕様の改定に合わせた内容の更新も行っている。しかし、この改訂の真の目的は、多少ページ数が増えても本当に『すべての人のための』Java プログラミングの教科書にすることである。また、使う機会がありそうなクラスライブラリはできるだけカバーし、これ一冊あれば、他にJava 言語の本を買わなくても十分にプログラミングを行っていける本にすることである。

欲張りな目標なのでどこまで達成されたかは分からないが、最大限の精力をつぎ込んだつもりである。著者がこの本を教科書にして授業を行ってきた中で学生が難しいと感じているところを洗い出し、説明の流れを考え直し、章立てを再構成した。読者の視点にたった分かりやすい記述を増やし、楽しみながら学べ、達成感のある練習問題を考えた。練習問題は大幅に増やしたので、目的に合わせて取捨選択してほしい。

第一版と同様、この改訂版も、本書のサポートページ http://www.i.h.kyoto-u.ac.jp/~tsuiki/java-everyone で提供しているタートルグラフィックスのライブラリを利用してプログラムを組みながら学習をすすめていく。できるだけサポートページからプログラムをダウンロードし、例題を実行して、練習問題を解きながら勉強を進めてほしい。練習問題の解答も公開しているので、それらのプログラムを読んで動作させるだけでも勉強になるであろう。

筆者は、単なるプログラミング言語の実用書というだけではなく、それを通じて伝えたいものを大切にしながら本書を書いたつもりである。それは、オブジェクト指向の考え方であったり、プログラミングによって広がる世界の可能性であったり、例題や演習問題で描かれる絵の面白さであったり、様々である。本書を読み終えた時に、それを感じ取っていただければ幸いである。

2007年9月
立木秀樹
有賀妙子