(※)このエントリは『見習いプログラマが読んだら、すぐにジョブレベルが上がる10冊』の補足になります。

(1)前回のエントリを書いた理由
(2)頂いたご意見に対して
(3)更に読んで欲しい5冊

の順に書きたいと思います。

『戯言はいいから本だけ教えれ』という方は下のほうの(3)へ

 

(1)前回のエントリを書いた理由

僕がプログラミングを最初に学んだ頃(まだテレホーダイの時代)
プログラミングを学ぶのにどの本が良いかなんて情報がさっぱりありませんでした。
手当たり次第に買うしかありませんでした。

#当時は『大人のCGIスクリプト』を書名に惹かれて買い、ログファイルが飛ばないカウンタ・掲示板の作り方を見て感動していました。
#ログファイルを二重に用意し、更新日時が新しいほうを読み出し、内容を変更・追加し、更新日時が古いほう上書きするというテクニックでした。


今は逆で、良い書籍の情報が山ほどあります。
ありすぎて、やっぱりどれ読めばいいかわからなくて困るんだろうな、
有名なプログラマさんが薦める本は難しすぎるんじゃないかな、と。

僕は、プログラマに幸せになって欲しいと思っています。
いつまでも『士農工商プログラマ』(Matzさんのお言葉)ではいけません。
そして、プログラマが幸せになる近道は、知識・技術を得ることだと思っています。


『読みやすいけれど、沢山学べるもの』
『少しマイナーなものも含めて』
『自分がやってる言語の本ぐらい読むだろうから、割と汎用的なものがいいかな』
『プログラミングのこと以外でも、知っておいて欲しいこと』

そして何より 『自分自身が読んでみて、読んでよかったと思える本』というコンセプトで10冊を書いてみました。

 

(2)頂いたご意見に対して

特にご意見の多かった『オブジェクト脳のつくり方』と『憂鬱なプログラマのためのオブジェクト指向開発講座』について言及したいと思います。


・『オブジェクト脳のつくり方』について
「この本はプログラムを現実世界のものに例えているから駄目だ。幼稚だ。実際にコード触らないとオブジェクト指向をわかるわけがない。データ型だって最初から教えろ。」
とおっしゃられる方が何人かいらっしゃいました。
その『例え』の部分に関しては色々な意見があると思います。
(僕は初心者が学ぶ際には良いと思っています。が、わからなくはないです。)
ですが、『だからこの本は駄目だ。』と言うのは言いすぎだと思います。

この本の真価は、その『例え』から入って、デザパタの本質のわかりやすい説明、簡単なUMLの説明、実際のシナリオからUMLを使った設計方法、と体系的に記載されている点でしょう。
非常に実務に沿った内容で、初心者の方が仕事をどういう風に進めて行くかを学ぶ際のチュートリアルとして優れていると思います。


・『憂鬱なプログラマのためのオブジェクト指向開発講座』について
C++をメインに使われている方には、非常に不評のようですね。
確かにポリモーフィズムの使い所やら怪しい箇所は何点かあります。
ですが、僕がオブジェクト指向について学び始めた頃に読み、
当時凄く悩んだことに答えてくれた本でした。

シューティングゲームで、自機がミサイルを打ち、敵機に当たった際の判定について考えて下さい。
ミサイルの当たり判定をするメソッドがあるべきなのは、どのクラスでしょう?
ミサイルが敵機に当たった際には、ミサイルと敵機が消滅しますが、ミサイル・敵機を消滅させるメソッドはがあるべきなのは、どのクラスでしょう?
もちろん、プログラムを書き慣れている人なら、『何当たり前のこと言ってんだよ』って思われるかもしれません。
でも学び始めの人は(いや、ある程度慣れてきていても)クラスの責務について迷うことは多いはずです。
その考え方をゲームを題材としてわかりやすく学べた書として、お勧めしました。


だったら最初から↑の説明書けよ
だって、どーせ身内2・3人にしか読まれないと思ってなかったんだもん。。。


・どっちが本当?
僕の意見と、反対されている方の意見、どちらを信じればいいかわからない、とおっしゃられてる方がいました。
反対されている方で「あのエントリに載ってる『××』じゃなくて、似た内容の『△△』がいいよ」と意見を出していらっしゃる方の本は、是非読んでみて下さい。
(不勉強な僕も是非読ませて頂きたいのでご教授願います。)
逆に『○○と××は読んでないけど、気にいらない本が何冊があるしどーせ全部駄目本でしょ』という意見には流されないで欲しいです。
前回のエントリで沢山の方に、紹介した書籍を買って頂いたようなので、またアチコチのブログやツイッターから感想が聞けると思います。
どうしても心配な方は、それらの情報を待ってから判断されるのがよいかもしれませんね。

 

(3)更に読んで欲しい5冊

 

C言語ポインタ完全制覇 (標準プログラマーズライブラリ) C言語ポインタ完全制覇 (標準プログラマーズライブラリ)
前橋 和弥

技術評論社
売り上げランキング : 9801

Amazonで詳しく見る

前回書くべき書籍なのに、すっかり忘れていました。。。 超有名本ですよね。
C言語使わない人も、是非読むべきです。
あわせて http://sakurai.sumomo.ne.jp/page/c_pointer も見るべき。
ちなみに、ポインタについての凄くわかりやすい説明を前どこかで見ましたので、うろ覚えながら書きます。
『ポインタって何?』『2chのレスと、そのレスへの安価

 

 

プレゼンテーションzen プレゼンテーションzen
Garr Reynolds,ガー・レイノルズ,熊谷 小百合

ピアソン桐原
売り上げランキング : 459

Amazonで詳しく見る

また『プログラマに関係ねーよ』って言われそうですが(笑)
いいプレゼンの作り方、プログラマも覚えておくべきです。
前に紹介した、『ノンデザイナーズ・デザインブック』の原則に基づいて、プレゼン資料を作る方法が載ってます。
勉強会の時に使うと、モテなプレゼンが出来るようになりますよ。
正直、かっこいいプレゼンが出来る人は大体これ読んでると思いますよ、バラしてゴメン。
気に入ったら続編の『プレゼンテーションzenデザイン』も読むと良いよ。

 

ペーパープロトタイピング 最適なユーザインタフェースを効率よくデザインする ペーパープロトタイピング 最適なユーザインタフェースを効率よくデザインする
Carolyn Snyder,黒須 正明

オーム社
売り上げランキング : 287782

Amazonで詳しく見る

プログラミングに慣れていない頃って、自分が何を作りたかったか忘れちゃって迷走することはよくあります。
その時期を過ぎると、簡単なプロトタイプをがちゃがちゃ作ってから、さぁプログラム書くか、って人は多いと思うんですけど、
HTMLであれ、GIMP・フォトショであれ、プロトタイプを作るのに結構時間食いますよね?動きを表現しにくいですし。
時間的にも値段的にもコスト低いし、紙を切った貼ったして、まずどんな動きするか決めてからやろーぜ!って本です。
上記の内容の実践方法を詳しく書いてあるだけなので『最初はコスト低くプロトタイプを紙で。』の概念を覚えておけば別に買わなくてもよいです。
でもこの考え方は大事。

 

 

データベース実践講義 ―エンジニアのためのリレーショナル理論 (THEORY/IN/PRACTICE) データベース実践講義 ―エンジニアのためのリレーショナル理論 (THEORY/IN/PRACTICE)
C.J.Date,株式会社クイープ

オライリージャパン
売り上げランキング : 193351

Amazonで詳しく見る

データベース系のものも入れろよ、という意見があったので。
あ、これは少し難しいです
でも名著だけどあまり挙げられないので、知っておいて欲しくて。
データベースの切り方とかを学べます。 特にどのDBについて、というわけでないので汎用的な内容です。
データベース系で簡単なのがいい人は、SQL書き方ドリルをどーぞ。いい本ですよ。

 

ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books) ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books)
やねうらお

技術評論社
売り上げランキング : 94549

Amazonで詳しく見る

有名なプログラマやねうらおさんの本。
バグ箇所の絞り込みや例外の使い方等、体系的に書かれています。
あとはバグりがちだから注意する場所とか。
内容的には高度なものも含まれていますが、かなーりわかりやすく書かれています。
あと、ひなた先生が段々可愛く見えてきますw

 

 

前回のエントリから、沢山の方に紹介した本を買って頂いたようです。
是非読み終わられましたら、ご感想をブログやツイッター等で教えて頂ければ、と思います。


トラックバック

トラックバック先 : http://blog.usagee.co.jp/trackbacks?article_id=22

  1. 『見習いプログラマ(中略)10冊』を書いた理由と、更に読んで欲しい5冊 : ソースコードは飲み物です。 (3)更に読んで欲しい5冊 C言語ポインタ完全制覇 (標準プログラマーズラ...

コメント

    コメントはありません。

コメントを残す