この本はすべてのシステムエンジニアやプログラマーに読んでもらいたい本でした。
実は最近、ワリと規模の大きいサービスのシステム設計で悩んでいました。
どうにもスマートな設計ができなくて、デザインパターン本などを数冊読んでみたのですが、どうにも腑に落ちるものが得られなくて。
そんな時にたまたま目にした本著のレビュー記事に惹かれて読んでみたところ、この本は今の私には大当たりの本でした。
本書はタイトルこそ「UNIXという考え方」というUNIX主体の本であるかのようですが、内容はソフトウェアやシステムデザイン全般に関することが大半です。
ただ、Linuxを触ったことがないとわからないところが出てきます。
私自身もサーバーエンジニアというわけではないのでLinux関係は既存コマンドを打って作業できる程度でしたが大半は理解することができました。
私の求めていたデザインパターン本とは違うのですが、そもそも論に溢れた本書を読んだ後は、そういったデザインパターンにこだわっていた行為そのものが間違えであったと気付きました。
強引にまとめてしまえば「プログラム自体やプログラム周辺環境をとにかく小さく保ち試作を繰り返していく」ということになるでしょうか。
以下に個人的に意識しておきたいポイントを抜き出しておきます。
・スモール・イズ・ビューティフル(小さいものは美しい)
・一つのプログラムにはひとつのことをうまくやらせる
・できるだけ早く試作する
・効率より移植性を優先する
・過度の対話的インターフェースを避ける
・すべてのプログラムをフィルタとして設計する
これらはきっと経験のあるSEやPGであれば常々そう思いながら実行できないことばかりではないでしょうか。
人間の事情に合わせてプログラムを書こうとするとおかしな部分が出てきてしまうんですよね。
上記を肝に銘じて今後はシステム開発していきたいと思います。