インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

Pragmatic Programmer, The: From Journeyman to Master

価格: ¥5,232
カテゴリ: ペーパーバック
ブランド: Addison-Wesley Professional
Amazon.co.jpで確認
   本書は、よいプログラマーになるための心得を書いた本である。読者対象は、プログラマーを職業とする人に加えて、プログラミングを学ぶ学生や、仕事や余暇で一定以上の規模のプログラムを書く人たちを含む。

   本書では、プログラミングの指針を具体的に解説している。テクニックよりも、ものの考え方や、プログラミング哲学に相当する内容が多い。たとえば「知識はプレイン・テキストに保存すること」や「モデルからビューを分離すること」など、短いヒントの形で論点を示し、それを具体的な事例を用いて説明している。プログラミングを中心に、比較的小規模のソフトウェア開発を段階に分けて論点を提示している。

   内容は、授業や研修で聞くよりも、自分で少しずつ読み進んで納得していくほうがずっと学習効果が上がる。通り一遍の事例として聞き逃さずに、何度か繰り返して読むことで、著者の洞察が自分のものになる。一部にはプログラムコードを用いた説明も出てくるが、その言語を知らなくても、著者が言いたいことは十分に理解できる。

   本書は、演習問題とその解答例、クロスリファレンス、索引が充実している。もう少し図版を用いてくれたら、もっと親切だったかもしれない。プログラミング入門を終えて、次の段階に進もうとしている人たちにぜひ読んでほしい1冊である。邦題は『達人プログラマー』。(有澤 誠)

職業プログラマやその管理職が一読に値する本 ★★★★☆
中堅の現場プログラマの一人として、最近不思議に感じることは、情報工学を修めたとされる学卒・院卒の若手や、業歴10年といったプログラマの一部が、かえって力任せで独りよがりなコードを書くことです。保守性の悪いことといったら「ソフト」ウエアどころかハードウエアです。笑止なことに、他人どころか書いた自分自身が保守性の悪さに泣くのです。

彼らも、それなりに知識は蓄えたのでしょう。 他の人に比べたら、よりたくさんの「動けばよい」コードを書いたのでしょう。ただし、それが妙な悪達者と自己満足になって、かえって徒になっている気がします。 職業プログラマとして、彼らに欠落していると思われるのは、同じ過ちを繰り返すまいというコスト意識であり、ごく近い未来に発生するであろう改修へのリスク予測です。

この本は、区分としては別段目新しいことを述べた本ではありません。ただし、ソフトウエア開発上の積年の知恵がTipsという簡潔に形で列挙され、それがどういう意味をもち、効力を発するか詳述されています。

開発経験・力量を積んだプログラマには、「そうそう、これが言いたかったんだ」と、自分の知恵のよい要約になるでしょうし、自分のスキルアップに限界を感じ始めた若手や中堅には「自分に欠けていたのは、これだったんだ」と目を瞠るものがあると思います。

そして、プログラマチームを率いるべき管理職には、いかにソフトウエアの品質を向上・維持すべきかのよいガイドラインになると思います。特に、オブジェクト指向だデザインパタンだなんだと業界の流行の表面を追いかけるのに疲れたら、一読すべき本です。「OOPとは何か」という手法の具体像よりも、まず「なぜOOPか」という目的を知る意味で「ソフトウエア工学とは何か」の導入書とも言えるでしょう。

個人的に魅せられたのは「Rather than construction, software is more like gardening」の一文です。要求分析・基本設計・詳細設計・実装・単体試験・組合せ試験っといったワンパスで製品が計画通りできあがる、と自己催眠をかけては失敗している人たちには、以前から違和感を抱いていた私ですが、同文を読んで、自分の言いたかったことはこれだ、と共感を覚えました。

惜しむらくは、本書はどちらかというとノウハウを語るものであって、教科書やマニュアルではないため、コードの具体例があまり多くないため、人によっては理解が 腑に落ちないかも知れません。

ある意味では、プログラム言語に依存しない、「ソフトウエアの開発原理」を述べた本とも言えるでしょう。