関連サイト
本書の関連ページが用意されています。
内容紹介
本書は、David Thomas and Andrew Hunt, The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley, 2019)の日本語版です。
本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。
(前略)しかし20年というと、ソフトウェアの世界では何世代もの時間の流れに相当します。1999年の開発者を現代にタイムスリップさせ、開発チームに参加させた場合、その開発者は新しい、奇妙な世界で苦闘するはずです。逆に、今日の開発者にとっても1990年代の世界は奇妙なものに映るはずです。第1版で解説していたCORBAや、CASEツール、インデックス付きループなどは、せいぜい奇妙な考え方でしかなく、混乱を招きかねないものと言えるでしょう。
その一方で、20年の時の流れにあっても、常識というものは何ら変わっていません。テクノロジーは変わっても、人は変わっていないのです。優れたプラクティスとアプローチは、今でも優れたプラクティスとアプローチとなっています。そういった点で、本書は熟成されていると言えるでしょう。
このため、本書の「第2版(20周年記念版)」を上梓するにあたって、我々はある決断を迫られました。案のひとつは、第1版で扱っていたテクノロジーをすべて見直して刷新するというものです。そして次の案は、この20年で得られた知見に従って、我々が推奨してきたプラクティスの背後にある前提を見直すというものです。
最終的に、我々はその双方を選択しました。
その結果、本書は「テセウスの船」とでも言うべきものになりました。本書のほぼ3分の1はまったく新たな書き下ろしとなっています。そして残りの大半も、部分的に書き直したり、新たに書き起こしたりしています。その目的は、意図を明確にするとともに、より適切にし、願わくば時を超えた存在にしたいというものです。(後略)
(本書「まえがきー第2版に向けて」より)
※現在販売中のファイル形式はPDF版のみになりますが、後日EPUB版も追加予定です。それまでにPDF版をご購入された場合、EPUB販売開始後はEPUBもダウンロードいただけます。
書誌情報
- 著者: David Thomas, Andrew Hunt(著), 村上雅章(訳)
- 発行日: 2020-11-20 (紙書籍版発行日: 2020-11-20)
- 最終更新日: 2020-11-20
- バージョン: 1.0.0
- ページ数: 448ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: オーム社
対象読者
プログラマ・ソフトウェア開発者(入門者・ベテランを問わず)、ものづくりにかかわっている人
著者について
David Thomas
Dave Thomas とAndy Hunt の両名は、ソフトウェア開発コミュニティーの指導者として世界的に認められている人物であり、コンサルティングや講演で世界中を飛び回っています。また両氏は、ソフトウェア技術者向けに最新技術を解説する書籍シリーズ「Pragmatic Bookshelf」を生み出し、ブックアワードを受賞するような良書を世に送り出してもいます。さらに両氏は「アジャイルソフトウェア開発宣言」の起草者にも名を連ねています。Dave は現在、大学で教鞭を振るい、ろくろ細工にいそしみながら、新たなテクノロジーやパラダイムに触れる日々を送っています。一方Andy は、SF小説を執筆しており、ミュージシャンとしても精力的に活動するかたわら、テクノロジーに触れることを何よりも楽しみにしています。両氏はとりもなおさず、学ぶことを生きがいにしています。
Andrew Hunt
Dave Thomas とAndy Hunt の両名は、ソフトウェア開発コミュニティーの指導者として世界的に認められている人物であり、コンサルティングや講演で世界中を飛び回っています。また両氏は、ソフトウェア技術者向けに最新技術を解説する書籍シリーズ「Pragmatic Bookshelf」を生み出し、ブックアワードを受賞するような良書を世に送り出してもいます。さらに両氏は「アジャイルソフトウェア開発宣言」の起草者にも名を連ねています。Dave は現在、大学で教鞭を振るい、ろくろ細工にいそしみながら、新たなテクノロジーやパラダイムに触れる日々を送っています。一方Andy は、SF小説を執筆しており、ミュージシャンとしても精力的に活動するかたわら、テクノロジーに触れることを何よりも楽しみにしています。両氏はとりもなおさず、学ぶことを生きがいにしています。
村上雅章
1982 年、京都産業大学外国語学部言語学科卒業。1982 ~ 1999 年、国内情報処理企業にてSE として勤務。1999 年から現在に至るまでニュージーランドにて翻訳およびシステム開発に従事。訳書に次のようなものがある。『Java 言語仕様』『Java API アプリケーション・プログラミングインタフェース』(アジソン・ウェスレイ・パブリッシャーズ・ジャパン)、『Hacking:美しき策謀 第2 版』『PDF構造解説』『Tomcat ハンドブック 第2 版』『アート・オブ・プロジェクトマネジメント』『イノベーションの神話』(オライリー・ジャパン)、『プログラミング言語SCHEME』『オブジェクト指向のこころ』『ソフトウェア職人気質』(ピアソン・エデュケーション)など多数。
目次
序文
まえがきー第2版に向けて
第1版のまえがきより
第1章 達人の哲学
- 1 あなたの人生
- 2 猫がソースコードを食べちゃった
- 3 ソフトウェアのエントロピー
- 4 石のスープとゆでガエル
- 5 十分によいソフトウェア
- 6 あなたの知識ポートフォリオ
- 7 伝達しよう!
第2章 達人のアプローチ
- 8 よい設計の本質
- 9 DRY 原則̶ 二重化の過ち
- 10 直交性
- 11 可逆性
- 12 曳光弾
- 13 プロトタイプとポストイット
- 14 専用の言語
- 15 見積もり
第3章 基本的なツール
- 16 プレインテキストの威力
- 17 貝殻(シェル)遊び
- 18 パワーエディット
- 19 バージョン管理
- 20 デバッグ
- 21 テキスト操作言語
- 22 エンジニアリング日誌
第4章 妄想の達人
- 23 契約による設計(DbC)
- 24 死んだプログラムは嘘をつかない
- 25 表明を用いたプログラミング
- 26 リソースのバランス方法
- 27 ヘッドライトを追い越そうとしない
第5章 柳に雪折れ無し
- 28 分離
- 29 実世界を扱う
- 30 変換のプログラミング
- 31 インヘリタンス(相続)税
- 32 設定
第6章 並行性
- 33 時間的な結合を破壊する
- 34 共有状態は間違った状態
- 35 アクターとプロセス
- 36 ホワイトボード
第7章 コーディング段階
- 37 爬虫類脳からの声に耳を傾ける
- 38 偶発的プログラミング
- 39 アルゴリズムのスピード
- 40 リファクタリング
- 41 コードのためのテスト
- 42 プロパティーベースのテスト
- 43 実世界の外敵から身を守る
- 44 ものの名前
第8章 プロジェクトを始める前に
- 45 要求の落とし穴
- 46 不可能なパズルを解決する
- 47 共に働く
- 48 アジリティーの本質
第9章 達人のプロジェクト
- 49 達人のチーム
- 50 ココナツでは解決できない
- 51 達人のスターターキット
- 52 ユーザーを喜ばせる
- 53 自負と偏見