Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

付録 読書ガイド

本書は、プログラマーが「なぜそう考えるのか」をつかむための入口として書いた。ここから先は、ぜひ元になった本や論文そのものを読んでほしい。

全部を順番に読む必要はない。まずは、自分がいちばん引っかかった章から入るのがいい。そのうえで、「最初の一冊」と「次の一冊」を示す。

まず最初に読むなら

1. 『人月の神話』 フレデリック・P・ブルックス Jr.

複雑さ、見積もり、銀の弾丸探し。ソフトウェア開発がなぜ難しいのかを、流行語ではなく地に足のついた言葉で考えたいなら、まずここから入るのがよい。

向いている章:

2. 『リファクタリング』 マーティン・ファウラー

本書では思想や歴史の流れを中心に書いたが、実際にコードをどう整えるのかへ降りていくなら、この本が橋になる。読みやすさ、変更しやすさ、設計の手入れが、同じ実践の中に並んでいるとわかる。

向いている章:

3. 『XP エクストリーム・プログラミング』 ケント・ベック

変化を前提に作るとはどういうことかを、単なる精神論でなく実践の束として読むのに向いている。本書の第3章第4章を、実際の開発の作法として読み直しやすくしてくれる。

向いている章:

4. Free Software, Free Society リチャード・ストールマン

第6章を読んで「自由」の意味をもう少し正面から受け止めたくなったら、やはり原典に近いところへ行くべきだと思う。賛成するにせよ距離を取るにせよ、一度は自分で読んでおく価値がある。

向いている章:

5. Weaving the Web ティム・バーナーズ=リー

Web が単なる技術の積み重ねではなく、どういう思想で作られたのかを知るにはよい入口になる。第9章の「誰のものでもない」という感覚に、作った本人の言葉で触れられる。

向いている章:

テーマ別に読むなら

複雑さと設計

  1. 『人月の神話』
  2. Frederick P. Brooks Jr., "No Silver Bullet"
  3. 『リファクタリング』
  4. 『XP エクストリーム・プログラミング』

読みやすいコード

  1. Structure and Interpretation of Computer Programs
  2. Donald E. Knuth, "Literate Programming"
  3. 『リファクタリング』

テストと変更

  1. The Art of Software Testing
  2. 『XP エクストリーム・プログラミング』
  3. 『リファクタリング』

オープンソースと自由

  1. Free Software, Free Society
  2. Free as in Freedom
  3. The Cathedral and the Bazaar

言語と道具の思想

  1. まつもとゆきひろ『まつもとゆきひろ 言語のしくみ』
  2. Hackers & Painters
  3. Alan Kay, "The Early History of Smalltalk"

Web と公開性

  1. Weaving the Web
  2. Roy T. Fielding の学位論文
  3. Designing Data-Intensive Applications

読み方の勧め

  • 一冊を全部理解してから次へ進まなくていい
  • 難しい本ほど、まず目次と序文と結論だけ読むやり方でいい
  • 本書の対応する章を読み返しながら往復すると、名著の言葉が急に自分の問題として読める

名著は、要約で知った気になるより、どこかで一度、原文や原典に当たるほうがいい。本書が、そのための助走になれば十分だと思っている。