日経BPより鈴木様より献本御礼。

祝・名著復刊!

プログラマーという生き物の生態を描いたノンフィクションとしては、未だ本書が最高傑作。プログラマー自身はもとより、プログラマーとつきあいが(ある|これから出来る)人、必読! 特にプログラマーの上司と、プログラマーの(配偶者|カレカノ)は、必携の一冊だ。

本書「闘うプログラマー」は、Microsoft Windows NTの開発を通して、プログラマーたちの生き様を活写したドキュメンタリー。初版が出たのは1994年。当時は上下巻のハードカヴァーだったが、新装版ではソフトカバー一冊にまとまっており、買いやすくなったのもうれしい。

目次
序章
第1章 コードの戦士
第2章 コードの王者
第3章 郎党
第4章 袋小路
第5章 熊の咆哮
第6章 ドッグフード
第7章 出荷モード
第8章 死の行進
第9章 バグ
第10章 ショーストッパー
出典について
謝辞
解説 - 成毛眞

すでに原著の刊行から15年。それからプログラミングのあり方はものすごく変わったが、プログラマーという生き物の「集成」がいかに変わっていないかに驚かされる。本書は「右翼プログラマー」の総本山、Micro$oftのドキュメンタリーなのに、「中の人々」の様子は「左翼プログラマー」たちのドキュメンタリーである「プログラマーのジレンマ」に、いやになるほどよく似ている。

これは「どうプログラム」しているかがこの15年でどれだけ変わったかを考えると驚くべきことなのだろうか。それとも「かもめはかもめ、ひとはひと、そしてプログラマーはやっぱりプログラマー」と納得するべきなのだろうか。

15年前。当時はインターネットはないに等しかった。本書には「LANマネージャー」という言葉が出てくるが、若い人は「ハァ?」だろう。今は、ネットワーク=TCP/IPだ。しかしそれ以前に、ネットワークというのは高価なオプションだった。パソコンのメモリーは4MB程度。NTが必要としたのはその4倍だったので、当時NTは"Not Twenty"(20MBでも不十分)などと揶揄されていた。今ではケータイですら、二桁多いメモリーを持っている。

当時と比較して、今のパソコンの性能は時間方向にも空間方向にも1000倍程度になっている。MHzだったものはGHzに、MByteだったものはGByteになったということだ。これで「どうプログラム」するかが変わらない方がおかしい。なにしろ何が希少で何がそうでないかが逆転してしまったのだから。プログラミングのあり方も、モノ=コンピューター上の資源節約型から、ヒト=プログラマーの時間節約型にかなり変わって来ている。

しかし、ヒトというのはそれほど速く変われるものではない。どうすると喜び、どうすると怒り、どうすると哀しみ、どうすると楽しくなるか、古今東西老若男女で変わるところはない。

ハードウェアも変わり、ソフトウェアも変わる。ただウェットウェアだけが変わらない。

コンピューターの性能が1/1000だった時代に書かれた本書が、今もなお、そしてかなり先までの将来も普遍性を持っている理由がここにある。本書はプログラムではなくプログラマーを描いているのだから。

それでは、その「変わらぬプログラマー」というのは一体どんな姿をしているのか。ぜひ本書で確認していただきたい。が、当時も有効で今もなお--いや、今はさらに--有効な開発テクニックを、二つ紹介しておきたい。

一つは、「テストの5乗」。本書はプログラミングではなくプログラマーを描いた本の中で、実際のテストの様子をきちんと描いた初の一冊だったのではないか。これだけでも、著者の慧眼に感心せざるを得ない。このテストの重要性とテスターの軽視というのは、プログラマーたちですら見落としがちなのだから。

もう一つは、「自分で作ったドッグフードを食え」。これは、自分で作ったシステムを自分で使えということである。およそ成功したプロジェクトで、これを履行していないものはない。マイクロソフトも、そのライヴァルであるアップルも、この点は徹底している。日本のSIerはどうだろうか。

プログラマーというのは、ある意味最も非人間的な仕事を受け持っている人々である。それゆえ最も人間性が露になる人々である。プログラマーがわかれば、人間がわかる。そう思うのは一プログラマーとしての身びいきにすぎないのだろうか。是非各自で確認していただきたい。

Dan the Programmer