以前はKernighanやPlaugerなどが書いた本を多くの技術者が読み、「コードの信頼性を如何に上げるか」、ということが多大な関心時でした。計算機資源が限られていたことや、オンラインデバッガが未成熟だったこともあり、初期のコードを如何に洗練させるか(要するに、バグの発生を如何に初期に食い止めるか)、ということに日々頭を悩ませたものでした。
今も勿論そうだとは思うのですが、誰でも一日中自身の計算機を使える環境にあること、オンラインデバッガの機能が著しく向上したことにより、とにかく早くコードを作り、バグが出ればその都度修正する、というスタイルに必然的に移行していると思われます。
C/C++は難しい言語で、ちゃんと訓練を受けた人でなければ扱えません。最近のソフトウェアの信頼性の低さは、C/C++が広まった割には、それを使いこなせる技術者が相対的に減っていることにあると、個人的には思っています。
本書だけで十分というわけではないでしょうが、現在軽視傾向にある問題を見つめる上で、再認識されても良い書物です。冒頭でKnuth(今知っている人がどれだけいる?)のTeXに関する文章が引用されていますが、これを理想とすることが現在正に望まれます。
Kent Beckのテスティング・フレームワークが現れた今となっては内容に古さが感じられますが、根底にある思想の大切さは今でも変わりません。アサーションを使ったことがなくデバッグ情報をprintfで表示させたりしているレベルのC言語プログラマがこの本から学ぶことは多いでしょう。一読をお奨めします。