Amazonにて定価で売っていたので購入。
職業プログラマになって日が浅い頃に図書館で借りて読んだのだけど、なかなか難しい代物で読み進めるのに苦労した。そこで、時間をかけて読み進めるために購入しようと思ったのだけど、私がこの本に出合った頃には既に絶版となっていたのである。で、古本は古本で少々お高いのである。そんなわけで購入をあきらめて10年以上も経った今、新品が定価で売っているという事実に少々驚いている。
……残念ながら続編2冊は古本でしか入手できないのよね。ちょっと残念。
プログラマとしてある程度の経験を積んだ今、やはり読み進めるのが難しい本だと思う。
まあただ、ペーペーだった頃とは異なり、何となく読み進めるのが難しいと感じる理由が分かった気がする。何のことはない、自分自身の知識や経験に欠損があるのだ。
元々が1980年代後半のソフトウェア開発者向けに書かれたエッセイである。おそらく、当時と今とでは、コーディングの題材も、開発で使用するツールや手法も、異なる部分が相応にあると思われる。つまり、当時の著者と読者が暗黙のうちに共有していただろうコンテキストについて、21世紀になってから促成栽培でプログラマになった私にとっては未知の部分が多いのである。
付け加えると、著者本人がまえがきで「この本は、ソフトウェアの設計手法やソフトウェアのエンジニアリングに関する中級レベルまたは上級レベルの補助教材として使えると思う」と書く程度の難易度である。つまり、1980年代当時の経験豊富なプログラマ相手の内容な訳で、おそらく「当時の著者と読者が暗黙のうちに共有していただろうコンテキスト」は、初級者向けのものよりも、より大きく、より深いものに仕上がっているように思う。
私は、21世紀のプログラマとしては、それなりに古い題材(構造化設計とか)の本を読んできたと思うし、長らくCプログラマとして泥臭い題材(文字列解析とか)をそこそこ扱ってきた方だと思うのだが――うーん、本書をスムーズに読み進めるには、まだまだ知識や経験が足りてないのかぁ、といった感じである。
まあ、幸いにも本書は手元にある。焦らずじっくりと読み進めることにしよう。
蛇足:個人の感想だが、著者のP.J. Plaugerは職業プログラマ寄りの人物だという印象がある。Visual Studio付属のC++標準ライブラリに彼のコピーライト表記があったからかもしれない(2019年にオープンソース化された以降は分からないけど)。Brian Kernighanはソフトウェア開発の教育分野に転じた印象が強いし、Ken ThompsonやRob Pikeはプログラマではあるけど研究開発寄りの経歴だよねという印象がある。