「パーフェクトJava」宣伝
「 パーフェクトJava 」の関係者で集まりました。発売から約1ヶ月のタイミングです。
1ヶ月の成績は上々と聞いて少し安心しました。その他、色々と書籍流通の話を聞けました。
初版部数を少なく刷ると、売れればすぐに増刷になり、勢いのある印象を見せるメリットがあります。売れなかった場合でも損が減ります。これだけ聞くと初版部数は少ない方が良さそうですが、部数が少ないと地方の書店に行き渡らないというデメリットがあります。なるほどという話ですが、どのぐらいを最初に刷るかは微妙な問題です。
返本率がどれぐらいで良いと取るかの基準を聞きました。返本制度については以下を参照してください。
- http://r25.jp/b/report/a/report_details/id/110000006775
- http://www.itmedia.co.jp/news/articles/0909/24/news013.html
返本率の話はやや業界裏話的なのでここには書きません。
「 パーフェクトJava 」は一過性で売り抜けることを狙った本ではありません。教科書に使える本を目指しています。すぐに古くなりそうな言葉は慎重に外しています。
今、Java本の世界の勝ち組は圧倒的に「Effective Java」のようです。「Effective Java」が良い本であることは認めます。「Effective Java」の評判の高さだけから、Javaの教科書として人に薦める人がいるようです。それは無いだろう、と思います。「Effective Java」は良い本ですが、教科書向きとは思えません。あれは、Javaをある程度分かった上で、知識の欠落が無いかを確認するための本です。あれでJavaの勉強を始めるのは無理があります。
個人的にJavaの教科書として人に薦めたことのあるのが、結城さんの「Java言語プログラミングレッスン」です。著者が結城さんなので安心感があります。欠点は上下巻あって長いことです。
結城さんの本はJavaの言語機能を丁寧にゆっくり説明しています。それに比べると「 パーフェクトJava 」は言語機能の説明はもっと高速です。その代わり、より実践的な説明にページを費やしています。見通しの良い、可読性の良いコードを書くために必要な知識や技法の説明です。また他人のコードを読む時に必要な考え方などです。言語機能を知ることと、実際にコードの意図を読み取れることは違うと思うからです。例えると、日本語が分かることと、科学論文を読めることに差があることに近いかもしれません。論文を読むには、背景知識も必要ですし、効率的に構成を掴むには流儀を知る必要があります。文法や標準クラスなどの言語知識は、実践向けの解説の中で自動的に身につくだろうという目論見です。
当然、これだけ詰め込むと切り捨てている部分もあります。ひとつは各クラスの個別のリファレンスです。
もうひとつ切り捨てているのが、具体的なツールの使い方や開発環境の整備の仕方です。Eclipseのエの字もありません。同様の理由でEmacsのイの字もありません。
教科書として使う場合、最低限の開発環境の整備の仕方を説明すべき気もしますが、この辺は講師が補助資料を作って補完することを期待しています。IDEを使うか、antを使うか、Mavenを使うか、など会社や学校あるいは講師の趣味で流儀は変わると思います。
IDEの言及を避けた理由にはもうひとつ、隠蔽されすぎて本質を見失う危険を恐れたからです。これには反論もあって、適切なツールを使うことで余計な細部を隠して本質に集中できるという主張もあります。一面ではその言い分を認めます。しかし、考えが古いと言われるかもしれませんが、プログラミング言語の勉強中は、開発時と実行時に起きていることを隠すことの弊害の方が大きいと思います。
ツールにより本質だけに集中させることの利点も理解しているので、書籍の後半、細部を隠すツールとしてantを導入しています。しかし最後までIDEは説明していません。IDEを否定する気はないので、ここも講師の裁量で補完することを期待しています。
学校でも会社でもプログラミングを人に教える立場になると大変です。講義で人から話を聞くだけでプログラミングが学べるとは思えません。自分ひとりで勉強する時間も必要なはずです。この時に渡す本として「 パーフェクトJava 」を検討してみてください。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/ad-perfect-java/tbping
Re:「パーフェクトJava」宣伝
>開発時と実行時に起きていることを隠すことの弊害の方が大きいと思います。
同感です。広く深い知識を目指す気概がない人はプログラマになるべきではないと思います。
もちろん、「広く深い」は現実には困難ですが、スローガンとしては重要と思っております。