読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

「初心者にとってダメな技術書」を考える。

<スポンサーリンク>

今までたくさんの技術書を買って、そのうちに素晴らしい本もあったけれど、1割くらいの確率でダメ本にぶち当たってきた。
今日は、そんなダメな本が持つ特徴について考えてみる。

本当はこのブログにあまりマイナスなことを書きたくないんだけど、もし著者の方の目についても有用な意見となるように願って、できるだけ建設的に批判したい。

※注)
・人には相性があるので、自分にとってのダメポイントです。
・初心者を対象としています。分かっている人はどんな本でも読みこなせるでしょう

「なぜ」が全然説明されていない

雑誌の記事を寄せ集めで作られた本に多いのだけれど、タイトルに「入門~」とか「わかる!」みたいな文言を入れている割に、解説が端折られているパターン。
解説のない数学の問題集をやっているような気分になる。

専門用語を当然のように連発し、それが「なんのために」必要なのか、「なぜそれを使うと良いのか」などが全く説明されていない。
事象とか事実を淡々と説明して、まるで卒業論文みたいなページが続く。

結局、読んでも読んでも全く頭に入らず、常時消化不良な状態が続く。
我慢して読んでみても、煮ても焼いても食えないという感想だけが残る。

初心者のときは、「なぜそうなるのか」を噛み砕いて説明してくれないと全然頭に残らないことを理解してほしい。

書籍例:すっきりわかった!VPN 改訂版

すっきりわかった!VPN 改訂版 (すっきりわかったBOOKS)

すっきりわかった!VPN 改訂版 (すっきりわかったBOOKS)

この記事を書くきっかけになった本だけど、これは本当にわかりづらかった。
詳細はAmazonのレビューにも書いてある通りで、唐突に専門用語を出しているにも関わらず、その用語の説明はない。
あったとしても、ググればわかるような辞書的な定義をちょっと述べるだけで、説明になっていなかった。
まずは専門用語は噛み砕いて、読んでいる人の理解を確認するつもりで書き進めてほしい。
まえがきには「わかりやすくまとめた」的なことが書いてあったけど、ここ最近読んだ技術書の中で一番わかりづらかったです。

本の通りにやっても開発環境が作れない

本を書くような人はその道のプロ中のプロである。
そういう人が見逃しがちなのは、環境構築だ。

初心者が一番つまづくのは開発環境の構築なのだ。
Hello World!」を表示させるまでが一番難しいのである。

上級者向けの本ならそれでいいと思うが、「入門!」とか「初心者でも安心」とか書いておきながら、開発環境の説明を端折るのはマナー違反である。

たとえば、あるJSP/サーブレットの入門書では「WEB-INFの下にweb.xmlを置きます」なんて書いてあるが、
これがJava EEの仕様で定められていることに触れておらず、XMLのタグの意味にも触れない。
Eclipseで開発する場合の設定方法も何も触れない。
ディレクトリ体系に決まりがある場合は、その説明をしてくれないと。

余計な解説を入れればページ数が増えるというのはわかるけれど、入門書と銘打っておきながら、大事なところを省略しないでほしい。

これはデートもしないで女の子を家に誘うのと同じだと思う。
大事なところを省略しては、何も得られない。

書籍例)10日でわかるシリーズ

CD付 10日でおぼえる JSP/サーブレット入門教室 第3版

CD付 10日でおぼえる JSP/サーブレット入門教室 第3版

※僕が買ったのは2010年あたりの話なので、改訂されていたらよくなっているかもしれません

コード例が省略されまくる。サンプル通りに動かない

ソースコードのzipがネットにあるならいいけれど、それも無いのにコード例が省略されている本がたまにある。
こういうのは、実際に書いて動かしてみようとするときに非常に困る。

逆にサンプル通りに書いても動かない本もけっこうある。
これは情報が古くなっていることが多いので仕方ないけれど、初心者時代はGoogleで検索するにもうまく見つけられないので、ハマったら抜け出せない。

極端に初心者向けに偏りすぎる

これは別に悪いことではないのかもしれない。
PHPの本にありがちなんだけど、

「なんでも言うとおりにしたら動きますよ!ほら!プログラミングって楽しいでしょ?簡単でしょ?」

というスタンスの本。

たしかに親切で、プログラミングも簡単に思えるんだけど、実は応用がきかない。
理解していないからだ。
やっぱり「1 + 1」を何度やっても掛け算ができるようにならないように、ちょっとした応用とか、やってる内容の説明もちゃんと入れてくれないと、本の内容以外をできるようにはならないと思う。

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

この本はたしかに「プログラミングを体験する」という意味では素晴らしかった。
はじめての人がはじめてプログラムを動かすにはこれ以上親切な本はない。
たしかに動くんだけど、もう少し。もう少し踏み込んで説明してもよかったんじゃないか。
真似して動いてバンザイ、で終わってしまった感がある。

あと、オブジェクト指向を「犬」とか「猿」に例えられてもさっぱりわからなかった。

Dog extends Animal

とか、わかりづらい。
とはいえ、自分もオブジェクト指向が理解できるようになったのは、
デザインパターンの勉強したり、仕事でオープンソースを読んでるうちに自然とわかってきた感じだから、どうやって説明すればいいかと言われたら困ってしまうかも。

わかりやすいJava オブジェクト指向編

わかりやすいJava オブジェクト指向編

これも最初はものすごく期待して買ったんだけど、あまりJavaがわかるようにならなかった。
特にオブジェクト指向については、この本で理解するのは難しいだろう。
すごく分厚い本で、たしかに説明は丁寧だったが、若干冗長だったように思う。
サンプルプログラムがかなり単純で少なかったので、下記のSUN教科書くらいのボリュームがあったらもっとよかった。
もったいないです。

結局、Javaの入門には、Javaプログラマの資格試験用の本を買ってサンプルを動かしたのが、自分にとっては一番良かった。

SUN教科書Javaプログラマ(SJC-P)

SUN教科書Javaプログラマ(SJC-P)

これだったかな?
余計な記載もなし、でも大事な部分の省略もなし。
正真正銘の「教科書」だった。
読んだのはもう2年も前になるけど、これのおかげでJavaのことを理解できてきたと思う。