自己流オブジェクト指向&Java参考書 『非』お勧め版
お奨め本リスト*1と対をなす,非お勧め版の入門書・参考書リスト.*2
あくまで『非』お勧めの、駄本、屑本リストである点に注意。しかし皮肉な話だが,初心者を惑わす入門書を避けるためにも要チェックだろう.
主に「何故か有名だけど悪い本」を取り上げる予定.「無名だけど悪い本」はきりがないので,ここではパス.結果として持ってない本が中心になるので詳細について触れるつもりはない.*3
「オブジェクト指向本」
実は「オブジェクト指向」というのは,あまり専門的な用語ではない.*4オブジェクト指向プログラミング(OOP),オブジェクト指向設計(OOD),オブジェクト指向分析(OOA)などと,きちんと区別すべきだ.ただ口頭で話す時は「オブジェクト指向プログラミング」と言うのは冗長だしOOPと言っても理解してもらえない.しかたがないので省略して「オブジェクト指向」と言う時も少なくない.
ここで挙げるのは「いわゆるオブジェクト指向」であって,そのほとんどはOODが基本となっていることが多いようだ.
憂鬱なプログラマのためのオブジェクト指向開発講座 (DDJ Selection)
- 作者: Tucker
- 出版社/メーカー: 翔泳社
- 発売日: 1998/05/31
- メディア: 大型本
- 購入: 10人 クリック: 508回
- この商品を含むブログ (78件) を見る
栄えあるワースト1.
いわゆる憂鬱本.有名且つ悪質な本で,日本のIT業界におけるオブジェクト指向プログラミングの普及に著しい悪影響を与えた元凶ではないだろうか.*5 *6
しかも厄介なことに,なぜか素人受けがいい.OOP初心者がこの本を読むと完全に間違った認識を刷り込まれてしまい*7,その後の学習にも支障が出るなど,悪影響が非常に大きい.これは金と時間の無駄使いにしかならない屑本なので,間違って買ってしまった場合はさっさと廃棄処分にするのが得策だ.廃棄処分にしても失った金は戻ってこないが,少なくともそれ以上時間を無駄にしなくてすむ.
- 実際ぼく自身この本を読んでしまったことによって,随分長い間オブジェクト指向を理解した「つもりになってしまって」いた.
- 初心者でもサクサク読めるので,何も知らないと簡単に洗脳されてしまう感じで怖いです.実際されたのですが.
追記
僕は結城さんのデザパタを読んでからやっとまともになり始めた気がする。いまだにオレオレOOPかもしれないけど。
もしもこの本しか読んでなかったらひどいことになってる。そして、往々にしてこういう本を必要としてる人は本を読まないから死亡なんだな。そういう意味で害の大きい本かもしれない。確かにいますよまだワンワンニャーニャーいってる人たちが。
http://d.hatena.ne.jp/iltc/20080428/1209382705
http://d.hatena.ne.jp/minekoa/20080503/1209799681
- この本のまずいところはいっぱいあるのだけれど、大きなのを二つだけ。一つはポリモーフィズムの意味や使いどころを著者自身が理解していない所です。
- もう一つの大きな問題は OOAD に偏重し OOP をないがしろにした内容です。(中略)OO とは現実の概念をそのままプログラムに落としこむこと としています。これはご存じのとおり間違いです。
- 細かい枝葉については、猫の性格の悪さを上手く活用してねちっこく責め上げようと、嫌らしくもトンデモ発言をピックアップしつつ読み進めたのですが、キリが無いので断念しました。
- この本は「こんな風にみんなで誤解してた時代もあったなぁ」と読むのが相応しい本なのでしょう、きっと。
タイトルは「憂鬱な人も楽しくなれる」という意味なんだろうが,まともなプログラマがコレを読むと日本のIT業界の将来を憂いて憂鬱になるのが現実.この本が何故絶賛されるのかは大きな謎だ.ひょっとしたらFizz-Buzz問題も分からない「自称プログラマ」や「自称プロマネ」や「自称設計者」がコレを読むと,今まで理解できなかったことが理解できたつもりになって,自己満足に浸れるせいかもしれない.
以下順不同.
オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座
- 作者: 牛尾剛,長瀬嘉秀
- 出版社/メーカー: 翔泳社
- 発売日: 2003/07/02
- メディア: 単行本
- 購入: 12人 クリック: 318回
- この商品を含むブログ (75件) を見る
「オブ能」にしろ「ゲーム能」にしろ,そんなものは存在しない*8.ある意味で憂鬱本を継ぐ物かも.*9
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
- 作者: 平澤章
- 出版社/メーカー: 日経BP社
- 発売日: 2004/06/03
- メディア: 単行本
- 購入: 34人 クリック: 448回
- この商品を含むブログ (198件) を見る
「オブジェクト指向でなぜ作るのか」というタイトルに反して,作り方は説明されていない.
・・・・・って、ホントにそうかな。この本、本当はものすごくヤバい本じゃないのかな?
というのも、私もこの本読んで相当混乱させられて。ここはよし、ここもまぁいっかな?と確認しながら歩いているのに、気がつけば明後日の方向にいる。それが実に巧妙で、この本には方向感覚を狂わせる魔法か何かが掛かっているのでしょうか、と思うくらい。なんか階段を上ったつもりなのに気付いたら降りてる感じですよ。気付いたら迷ってます。この本には見た目のフレンドリーさに反した、なにか恐ろしいものの片鱗を感じるのですが、それが何だか説明できない...orz 魔書?。パウ・デイレルの書とか、その類の本?
細かい項目のそれぞれが、一見まっとうなこと書いてあるように見えて実は微妙に本質を外してる、でも間違ってるとバッサリするには躊躇する――そういうのばっかりで。
http://d.hatena.ne.jp/minekoa/20080803
入門 オブジェクト指向設計―変更に強く生産性が高いシステムを
- 作者: 滝沢克泰,今野睦
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/12
- メディア: 単行本
- 購入: 7人 クリック: 105回
- この商品を含むブログ (42件) を見る
豆蔵セミナーライブオンテキスト(1) わかるオブジェクト指向
- 作者: 山田隆太
- 出版社/メーカー: 技術評論社
- 発売日: 2005/07/29
- メディア: 単行本
- 購入: 1人 クリック: 22回
- この商品を含むブログ (17件) を見る
Java・オブジェクト指向の壁を突破する 抽象化プログラミング入門 (豆蔵セミナーライブオンテキスト 3)
- 作者: 岡村敦彦/山田隆太,A5
- 出版社/メーカー: 技術評論社
- 発売日: 2007/08/10
- メディア: 単行本(ソフトカバー)
- クリック: 26回
- この商品を含むブログ (10件) を見る
独習オブジェクト指向開発 (Teach Yourself OOP)
- 作者: 古川正寿
- 出版社/メーカー: 翔泳社
- 発売日: 2004/10/21
- メディア: 単行本
- クリック: 5回
- この商品を含むブログ (5件) を見る
正しく学ぶソフトウエア設計 ─オブジェクト指向分析/設計を根本から理解する (日経BPパソコンベストムック)
- 作者: 天野勝,平澤章,平鍋健児,矢沢久雄,山本啓二,日経ソフトウエア
- 出版社/メーカー: 日経BP社
- 発売日: 2005/10/07
- メディア: ムック
- 購入: 1人 クリック: 23回
- この商品を含むブログ (15件) を見る
いちばんやさしい オブジェクト指向の本 (技評SE新書 007)
- 作者: 井上樹
- 出版社/メーカー: 技術評論社
- 発売日: 2007/01/19
- メディア: 新書
- 購入: 2人 クリック: 57回
- この商品を含むブログ (38件) を見る
図解入門よくわかる最新オブジェクト指向の基本と仕組み 増補改訂版 (How‐nual図解入門―Visual guide book)
- 作者: 近藤博次
- 出版社/メーカー: 秀和システム
- 発売日: 2005/03/23
- メディア: 単行本
- 購入: 1人
- この商品を含むブログ (6件) を見る
類書多数.
プログラミング本
- 作者: 矢沢久雄
- 出版社/メーカー: 技術評論社
- 発売日: 2008/10/04
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 144回
- この商品を含むブログ (45件) を見る
後から追加.「無名だけど悪い本」の一つ.
内容だけなら憂鬱本に匹敵するほどの悪書.こんな本で勉強したら,回りの足を引っぱるトンデモプログラマーの一丁上がり.
- 作者: 大森久美子,岡崎義勝,西原琢夫,宇治則孝
- 出版社/メーカー: 翔泳社
- 発売日: 2009/04/10
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 113回
- この商品を含むブログ (17件) を見る
ずっと受けたかったソフトウェアエンジニアリングの新人研修 開発現場編
- 作者: 大森久美子、西原琢夫
- 出版社/メーカー: 翔泳社
- 発売日: 2012/02/07
- メディア: 単行本(ソフトカバー)
- クリック: 18回
- この商品を含むブログ (4件) を見る
- 作者: 大森久美子,岡崎義勝,西原琢夫,宇治則孝
- 出版社/メーカー: 翔泳社
- 発売日: 2010/04/20
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 19回
- この商品を含むブログ (9件) を見る
- 作者: 鶴保征城,駒谷昇一
- 出版社/メーカー: 翔泳社
- 発売日: 2006/10/13
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 149回
- この商品を含むブログ (39件) を見る
- 作者: 鶴保征城,駒谷昇一
- 出版社/メーカー: 翔泳社
- 発売日: 2006/10/13
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 37回
- この商品を含むブログ (34件) を見る
さらに追加.40年くらいの過去からタイムスリップしてきた著者が,若かりし頃の過ちを書き殴った本のようだ.
ずっと受けたかったソフトウェアエンジニアリングの授業1 増補改訂版
- 作者: 鶴保征城,駒谷昇一
- 出版社/メーカー: 翔泳社
- 発売日: 2011/01/28
- メディア: 単行本(ソフトカバー)
- クリック: 8回
- この商品を含むブログ (7件) を見る
ずっと受けたかったソフトウェアエンジニアリングの授業2 増補改訂版
- 作者: 鶴保征城,駒谷昇一
- 出版社/メーカー: 翔泳社
- 発売日: 2011/01/28
- メディア: 単行本(ソフトカバー)
- クリック: 2回
- この商品を含むブログ (5件) を見る
さらにさらに追加.恐ろしいことに,あの屑本になんと改訂版が出るなんて!まだ懲りていないのか?
- 作者: 大森久美子,岡崎義勝,宇治則孝
- 出版社/メーカー: 翔泳社
- 発売日: 2011/03/02
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 92回
- この商品を含むブログ (6件) を見る
- 作者: 飯泉純子,大槻繁
- 出版社/メーカー: 翔泳社
- 発売日: 2011/08/31
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 22回
- この商品を含むブログ (8件) を見る
- 作者: 大森久美子,西原琢夫,宇治則孝
- 出版社/メーカー: 翔泳社
- 発売日: 2013/01/31
- メディア: 単行本(ソフトカバー)
- クリック: 1回
- この商品を含むブログ (2件) を見る
Java
Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識
- 作者: 米持幸寿
- 出版社/メーカー: 日経BP社
- 発売日: 2005/03/31
- メディア: 単行本
- 購入: 2人 クリック: 24回
- この商品を含むブログ (40件) を見る
なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング
- 作者: 小森裕介,アクロクエストテクノロジー株式会社
- 出版社/メーカー: 技術評論社
- 発売日: 2004/12/01
- メディア: 単行本
- 購入: 10人 クリック: 217回
- この商品を含むブログ (50件) を見る
この本を読めば,あなたはオブジェクト指向からますます遠ざかること受け合い.
ずばりわかる! Java Javaの良いコード、悪いコード (日経BPパソコンベストムック)
- 作者: 石原直樹,河村嘉之,丸の内とら,米持幸寿,日経ソフトウエア
- 出版社/メーカー: 日経BP社
- 発売日: 2006/03/09
- メディア: 大型本
- クリック: 4回
- この商品を含むブログ (6件) を見る
昔パラパラ見て,タイトルに反して良いコードの参考にはならなかったことだけは覚えている.
- 作者: 立山秀利
- 出版社/メーカー: 秀和システム
- 発売日: 2006/04/28
- メディア: 単行本
- 購入: 2人 クリック: 89回
- この商品を含むブログ (10件) を見る
- 作者: 川場隆
- 出版社/メーカー: 秀和システム
- 発売日: 2009/10/23
- メディア: 単行本
- 購入: 14人 クリック: 162回
- この商品を含むブログ (33件) を見る
久しぶりに出た「これはひどい」本.
SPD(Structured Programming Diagram)なるフローチャートの亜種を推奨し,何も知らない初心者を惑わせる.
「Java入門ブックガイド(入門編)よりよき入門書と出会うために 」http://codezine.jp/article/detail/5331
ダメ本リストかと思った。
Java入門書
たしかに初心者にはこういう本も必要なのは認める.しかし入門書としては許容範囲なのかもしれないが不適切な表現や間違いも多く,これらの本で得られる知識をベースにする限りはまともなJava開発者になるのは非常に厳しいだろう.この一冊で終わった人は,Java開発者としても終わってる.
例えるならこのような入門書は中学生用の英和辞典のようなものだ.*10中学1年で,"This is a pen."も"I am coffee."も分からないレベルだと,こういう辞書も便利だ.だが中学生用の辞書で勉強する限りは永遠に英検4級レベル*11から抜け出せない.プロを目指すなら,あるいは高校受験に備えるなら一刻も早くそんな辞書を捨てて,まともな辞書に買い換えることが重要だ.
- 作者: ジョゼフ・オニール,武藤健志,トップスタジオ
- 出版社/メーカー: 翔泳社
- 発売日: 2005/01/14
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (23件) を見る
パラパラと見た限りでは,内容は未だにJDK1.1以前のものを引きずっている.Java5対応は望み薄*12.これは大半の入門書で同じことが言える.*13
- 作者: 高橋麻奈
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/09/01
- メディア: 単行本
- 購入: 3人 クリック: 131回
- この商品を含むブログ (43件) を見る
ベストセラーだからと言って良書とは限らない好例.コンパクトで手取り足取り教えてくれるので,入門書としては悪くはないが,これを全部マスターしてもようやく低レベル開発者になるのがやっとだ.
パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)
- 作者: アリエル・ネットワーク株式会社,井上誠一郎,永井雅人,松山智大
- 出版社/メーカー: 技術評論社
- 発売日: 2009/09/24
- メディア: 大型本
- 購入: 26人 クリック: 360回
- この商品を含むブログ (35件) を見る
Web
- 「オブジェクト指向を正しく理解する」http://itpro.nikkeibp.co.jp/article/lecture/20061204/255699/
- 「いまからでも遅くないJava 第二回 オブジェクト指向、本当に分かってる?」http://jibun.atmarkit.co.jp/lskill01/rensai/imajava02/imajava01.html
- 「UMLモデルをどうやってC言語に落とし込むか」http://www.atmarkit.co.jp/fembedded/robocon/etrobo06/road03/road03a.html
- 「基礎からのオブジェクト指向」http://itpro.nikkeibp.co.jp/article/COLUMN/20061128/255110/
- 「開発をもっと楽にするNAgileの基本思想」http://www.atmarkit.co.jp/fdotnet/nagilemind/index/index.html
- 「オブジェクト指向の世界」http://www.atmarkit.co.jp/farc/rensai/column/world10/world10.html
- 「矢沢流 これで納得!オブジェクト指向入門」http://itpro.nikkeibp.co.jp/article/COLUMN/20070531/273154/
- 「初心者がJavaを“超高速”で学ぶためのコツ」http://itpro.nikkeibp.co.jp/article/COLUMN/20060927/249181/
- 「オブジェクト指向分析・設計の基本」http://itpro.nikkeibp.co.jp/article/lecture/20070419/268987/
- 「Javaオブジェクトモデリング」http://www.atmarkit.co.jp/im/carc/serial/jobjmdlindex/jobjmdindex.html
- 「羽生田栄一の「オブジェクト論」」http://itpro.nikkeibp.co.jp/article/COLUMN/20061128/255060/
- 「いまさら聞けないJavaによるオブジェクト指向の常識」http://www.atmarkit.co.jp/fjava/rensai4/programer11/programer11_1.html
その他多数.
番外
ダメコードの例.本そのものは名著なので勘違いしないように.
- 作者: 藤原博文
- 出版社/メーカー: 技術評論社
- 発売日: 2003/07/12
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 219回
- この商品を含むブログ (60件) を見る
C言語のダメプログラム集.こういうコードを書いている初心者は反面教師から学ぶことは多いはずだ.こういうコードを書いている「熟練者」は,さっさと引退した方が良いだろう.
- 作者: ジョシュア・ブロック,ニール・ガフター,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2005/11/14
- メディア: 大型本
- 購入: 3人 クリック: 92回
- この商品を含むブログ (56件) を見る
言わずとしれたJoshua BlochとNeal Gafterによる,Javaの重箱の隅をつついたパズル本.パズルとしては名著だが,間違ってもこの本の書き方はマネしないように.仕事でこんなコードを書く奴は,開発者としては最低だ.
関連 :-)
備考:憂鬱本について
SFはどこまで実現するか―重力波通信からブラック・ホール工学まで (ブルーバックス)
- 作者: ロバート・L.フォワード,久志本克己
- 出版社/メーカー: 講談社
- 発売日: 1989/11
- メディア: 新書
- クリック: 1回
- この商品を含むブログ (7件) を見る
- 作者: 柳田理科雄
- 出版社/メーカー: メディアファクトリー
- 発売日: 2003/07
- メディア: 文庫
- 購入: 1人 クリック: 39回
- この商品を含むブログ (31件) を見る
前者は副業がハードSF作家で本職物理学者のロバートLフォワードによる,SF的なオーバーテクノロジー*14を真面目に論じた本.後者は....まあ説明するまでもるまい*15.憂鬱本は後者に近い.
アレを「最新テクノロジーの進歩だ」と真面目に信じる人がいるとすれば,憂鬱にもなるだろ.
まんがサイエンス (10) (ノーラコミックスDELUXE)
- 作者: あさりよしとお
- 出版社/メーカー: 学研
- 発売日: 2007/01/01
- メディア: コミック
- 購入: 5人 クリック: 23回
- この商品を含むブログ (58件) を見る
新装版 HAL―Hyper Academic Laboratory (ガムコミックスプラス)
- 作者: あさりよしとお
- 出版社/メーカー: ワニブックス
- 発売日: 2006/01/25
- メディア: コミック
- 購入: 2人 クリック: 50回
- この商品を含むブログ (46件) を見る
前者は最新科学の真面目なマンガ解説本(のはず)*16.後者は同じ著者による似非科学のパロディ*17 *18.似非科学とは言っても科学知識のない人間には,まともな解説本に見えることだってあるかもしれない.
「独習Java第3版」や「やさしいJava 第3版 (やさしいシリーズ)」は前者に,憂鬱本は後者に近い存在です.パロディの方がまだ救いがある.
*1:http://d.hatena.ne.jp/JavaBlack/20070522/p1
*2:ものの性質上,書くのはあんまり気が進まない.コレを見ているだけで気分が悪くなる.しかもアフィリエイトでの売上も期待できないし...orz
*3:屑本というのは,パラパラとめくるだけで屑本だと分かるものだ.
*4:そもそも"Object-Oriented"は形容詞であって名詞ではない.「オブジェクトを重視する」「物本意の」というような意味.いずれにせよ専門用語なので字義通りの解釈にはさほど意味はない.
*5:コレと同じくらい内容が悪い本なら他にもある.コレが問題なのは,一部で絶賛し,回りに広めようとした人がいること.この本の評判を見ていたら,いわゆる『工作員』説を信じたくもなる.
*6:日本語のWebや入門書を探すと,これと同レベルの質の悪い情報が氾濫している.英語圏の方が遙かにマシだと信じたいな.
*7:平たく言って洗脳されてしまう.
*8:「英語能」の方がまだマシだな.これでさえも科学的というには程遠いのだが.
*9:「これが最後の憂鬱本とは思えない.いずれ第二第三の憂鬱本が……」がシャレにならんとは.「愚昧を敵としては神々自身の戦いさえ虚しい」.
*10:
*11:あんまり深い意味はない.ようするにプロ以下ってこと.
*12:よくみると原書はしっかり版を重ねているようだ。ひょっとして日本語版は原書の初版相当のままで訳書改訂版ということ? Sams Teach Yourself Java 6 in 21 Days
*13:つまりグダグダ言ってないで「プログラミング言語Java (The Java Series)」を買えと.結局はそれが一番の近道なのだ.
*14:軌道エレベーターとかバサードラムジェットとかタイムマシンとか.
*15:後者については「こんなにヘンだぞ!『空想科学読本』」という本まで出ている.いくらパロディでも初歩的な計算違いや論理の破綻はいただけない.少しはラリー=ニーブンを見習って欲しいぞ.
*16:雰囲気的にはこんな感じ。 http://www.koalanet.ne.jp/~anoda/space/mlab11/mlab11.htm http://anoda.web.fc2.com/oldpage/space/mlab11/mlab11.htm
*17:なにしろ帯に「このマンガには、一部真実が含まれている場合があります」と書いてあるほど。大半の大嘘の中に小さな嘘と,ほんの僅かな真実が含まれている.
*18:HALと言っても2001年とは全く関係ない....連載が2000-2001年ということを除けば.