家を建てたいとしよう。本当の本当に必要な最小限度の道具立てを考えると、電動工具は不要だ。でも、実際には電動工具は効率的に家を建てるためには不可欠。
この本に載っている情報の多くは、ソフトウェア開発者にとっての「電動工具」。
たとえば"objdump -d で逆アセンブルの結果が出てくる"なんてのは、gdbを使えば不要な知識かもしれない。elfファイルの構造は知らなくても、どうにかなる。共有ライブラリの動作原理を知らなくたって、ほとんどのプログラマは困らない。
でも、objdump を知っていると、Linux/scripts/checkstack.plのようなプログラムが書ける。elfの構造を知っていると、デバッグ情報は実はメモリにロードされないから、ディスクに余裕があるなら -g オプションはつけっぱなしにしよう、という気になる。共有ライブラリのロード手順を知っていると、後付で動的ライブラリを切り替えて文字コード対応する、なんてプログラムの作り方が出来ることに気づく。
大工さんがよい道具に興味を示すように、優秀なプログラマはよい道具に関心を示す。そんなプログラマになりたいなら、入門書としてこの本はお勧め。