Hatena::Diary

カレーなる辛口Javaな転職日記 RSSフィード

2008年 04/01 わたしが知らないクズ本は、きっとあなたが読んでいる

[][][]自己流オブジェクト指向Java参考書 『非』お勧め版

お奨め本リスト*1と対をなす,非お勧め版の入門書・参考書リスト.*2

あくまで『非』お勧めの、駄本、屑本リストである点に注意。しかし皮肉な話だが,初心者を惑わす入門書を避けるためにも要チェックだろう.

主に「何故か有名だけど悪い本」を取り上げる予定.「無名だけど悪い本」はきりがないので,ここではパス.結果として持ってない本が中心になるので詳細について触れるつもりはない.*3

オブジェクト指向本」

実は「オブジェクト指向」というのは,あまり専門的な用語ではない.*4オブジェクト指向プログラミング(OOP),オブジェクト指向設計(OOD),オブジェクト指向分析(OOA)などと,きちんと区別すべきだ.ただ口頭で話す時は「オブジェクト指向プログラミング」と言うのは冗長だしOOPと言っても理解してもらえない.しかたがないので省略して「オブジェクト指向」と言う時も少なくない.

ここで挙げるのは「いわゆるオブジェクト指向」であって,そのほとんどはOODが基本となっていることが多いようだ.


栄えあるワースト1.

いわゆる憂鬱本.有名且つ悪質な本で,日本のIT業界におけるオブジェクト指向プログラミングの普及に著しい悪影響を与えた元凶ではないだろうか.*5 *6

しかも厄介なことに,なぜか素人受けがいい.OOP初心者がこの本を読むと完全に間違った認識を刷り込まれてしまい*7,その後の学習にも支障が出るなど,悪影響が非常に大きい.これは金と時間の無駄使いにしかならない屑本なので,間違って買ってしまった場合はさっさと廃棄処分にするのが得策だ.廃棄処分にしても失った金は戻ってこないが,少なくともそれ以上時間を無駄にしなくてすむ.

  • 実際ぼく自身この本を読んでしまったことによって,随分長い間オブジェクト指向を理解した「つもりになってしまって」いた.
  • 初心者でもサクサク読めるので,何も知らないと簡単に洗脳されてしまう感じで怖いです.実際されたのですが.

http://d.hatena.ne.jp/uskz/20070726/p1

タイトルは「憂鬱な人も楽しくなれる」という意味なんだろうが,まともなプログラマがコレを読むと日本のIT業界の将来を憂いて憂鬱になるのが現実.この本が何故絶賛されるのかは大きな謎だ.ひょっとしたらFizz-Buzz問題も分からない「自称プログラマ」や「自称プロマネ」や「自称設計者」がコレを読むと,今まで理解できなかったことが理解できたつもりになって,自己満足に浸れるせいかもしれない.


以下順不同.

「オブ能」にしろ「ゲーム能」にしろ,そんなものは存在しない*8.ある意味で憂鬱本を継ぐ物かも.*9

オブジェクト指向でなぜ作るのか」というタイトルに反して,作り方は説明されていない.


豆蔵セミナーライブオンテキスト(1) わかるオブジェクト指向

豆蔵セミナーライブオンテキスト(1) わかるオブジェクト指向



独習オブジェクト指向開発 (Teach Yourself OOP)

独習オブジェクト指向開発 (Teach Yourself OOP)



いちばんやさしい オブジェクト指向の本 (技評SE新書 007)

いちばんやさしい オブジェクト指向の本 (技評SE新書 007)


類書多数.

Java

Javaでなぜつくるのか  知っておきたいJavaプログラミングの基礎知識

Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識


この本を読めば,あなたはオブジェクト指向からますます遠ざかること受け合い.

昔パラパラ見て,タイトルに反して良いコードの参考にはならなかったことだけは覚えている.


Java入門書

たしかに初心者にはこういう本も必要なのは認める.しかし入門書としては許容範囲なのかもしれないが不適切な表現や間違いも多く,これらの本で得られる知識をベースにする限りはまともなJava開発者になるのは非常に厳しいだろう.この一冊で終わった人は,Java開発者としても終わってる.

例えるならこのような入門書は中学生用の英和辞典のようなものだ.中学1年で,"This is a pen."も"I am coffee."も分からないレベルだと,こういう辞書も便利だ.だが中学生用の辞書で勉強する限りは永遠に英検4級レベル*10から抜け出せない.プロを目指すなら,あるいは高校受験に備えるなら一刻も早くそんな辞書を捨てて,まともな辞書に買い換えることが重要だ.

独習Java第3版

独習Java第3版

パラパラと見た限りでは,内容は未だにJDK1.1以前のものを引きずっている.Java5対応は望み薄*11.これは大半の入門書で同じことが言える.*12

やさしいJava 第3版 (やさしいシリーズ)

やさしいJava 第3版 (やさしいシリーズ)

ベストセラーだからと言って良書とは限らない好例.コンパクトで手取り足取り教えてくれるので,入門書としては悪くはないが,これを全部マスターしてもようやく低レベル開発者になるのがやっとだ.


Web

その他多数.

番外

ダメコードの例.本そのものは名著なので勘違いしないように.

Cプログラミング診断室―さらに美しく健康的なプログラムのために

Cプログラミング診断室―さらに美しく健康的なプログラムのために

C言語のダメプログラム集.こういうコードを書いている初心者は反面教師から学ぶことは多いはずだ.こういうコードを書いている「熟練者」は,さっさと引退した方が良いだろう.

言わずとしれたJoshua BlochとNeal Gafterによる,Javaの重箱の隅をつついたパズル本.パズルとしては名著だが,間違ってもこの本の書き方はマネしないように.仕事でこんなコードを書く奴は,開発者としては最低だ.

関連 :-)

備考:憂鬱本について


空想科学読本〈1〉 (空想科学文庫)

空想科学読本〈1〉 (空想科学文庫)


前者は副業がハードSF作家で本職物理学者のロバートLフォワードによる,SF的なオーバーテクノロジー*13を真面目に論じた本.後者は....まあ説明するまでもるまい*14憂鬱本は後者に近い.

アレを「最新テクノロジーの進歩だ」と真面目に信じる人がいるとすれば,憂鬱にもなるだろ.

まんがサイエンス (10) (ノーラコミックスDELUXE)

まんがサイエンス (10) (ノーラコミックスDELUXE)


HAL―Hyper Academic Laboratory (ガムコミックスプラス)

HAL―Hyper Academic Laboratory (ガムコミックスプラス)

  • 出版社/メーカー: ワニブックス
  • 発売日: 2006/01/25
  • メディア: コミック

前者は最新科学の真面目なマンガ解説本(のはず).後者は同じ著者による似非科学のパロディ*15 *16似非科学とは言っても科学知識のない人間には,まともな解説本に見えることだってあるかもしれない.

独習Java第3版」や「やさしいJava 第3版 (やさしいシリーズ)」は前者に,憂鬱本は後者に近い存在です.パロディの方がまだ救いがある.

*1http://d.hatena.ne.jp/JavaBlack/20070522/p1

*2:ものの性質上,書くのはあんまり気が進まない.コレを見ているだけで気分が悪くなる.しかもアフィリエイトでの売上も期待できないし...orz

*3:屑本というのは,パラパラとめくるだけで屑本だと分かるものだ.

*4:そもそも"Object-Oriented"は形容詞であって名詞ではない.「オブジェクトを重視する」「物本意の」というような意味.いずれにせよ専門用語なので字義通りの解釈にはさほど意味はない.

*5:コレと同じくらい内容が悪い本なら他にもある.コレが問題なのは,一部で絶賛し,回りに広めようとした人がいること.この本の評判を見ていたら,いわゆる『工作員』説を信じたくもなる.

*6:日本語のWebや入門書を探すと,これと同レベルの質の悪い情報が氾濫している.英語圏の方が遙かにマシだと信じたいな.

*7:平たく言って洗脳されてしまう.

*8:「英語能」の方がまだマシだな.これでさえも科学的というには程遠いのだが.

*9:「これが最後の憂鬱本とは思えない.いずれ第二第三の憂鬱本が……」がシャレにならんとは.「愚昧を敵としては神々自身の戦いさえ虚しい」.

*10:あんまり深い意味はない.ようするにプロ以下ってこと.

*11:よくみると原書はしっかり版を重ねているようだ。ひょっとして日本語版は原書の初版相当のままで訳書改訂版ということ?

Sams Teach Yourself Java 6 in 21 Days (Sams Teach Yourself)

Sams Teach Yourself Java 6 in 21 Days (Sams Teach Yourself)

*12:つまりグダグダ言ってないで「プログラミング言語Java 第4版 (The Java Series)」を買えと.結局はそれが一番の近道なのだ.

*13軌道エレベーターとかバサードラムジェットとかタイムマシンとか.

*14:後者については「こんなにヘンだぞ!『空想科学読本』」という本まで出ている.いくらパロディでも初歩的な計算違いや論理の破綻はいただけない.少しはラリー=ニーブンを見習って欲しいぞ.

*15:なにしろ帯に「このマンガには、一部真実が含まれている場合があります」と書いてあるほど。大半の大嘘の中に小さな嘘と,ほんの僅かな真実が含まれている.

*16:HALと言っても2001年とは全く関係ない....連載が2000-2001年ということを除けば.

トラックバック - http://d.hatena.ne.jp/JavaBlack/20080401/p1