見る今年の夏休みの宿題として読もうと思ったものの休み中に読みきれず結局世の中的な夏休みも明けてしまった。本書はUNIXの設計思想を9つの定理(実際にはプラスアルファとして10の小定理がある)として説明している。この一貫した思想でUNIXが何を重視し何を犠牲にしているかを理解することができる。9つの定理のそれぞれは取るに足らないものであり、断片的に取り入れてもうまくいかないとされている。ある定理への批判は別の定理から反論されるように、9つの定理が相互に作用し合い、強化し合うことで、より広大で強力なものになるとしている。このような設計思想はUNIXに限らずソフトウェア開発の設計においても重要な考え方であり、現代のソフトウェア開発にも取り入れられるものが多い。そのため原書が発売された1996年から20年が過ぎた現在でも多くの人に読まれ多くのエンジニアに影響を与えている。使用するシステムリソースが少なく効率が良いプログラムが小さいことで他のツールと簡単に結合できる1つのプログラムには1つのことをうまくやらせる比較的簡単に再利用できるできることとできないことが明確ソフトウェアは進化し明日には時代遅れになるかもしれないことを率直に受け入れられるできるだけ早く試作する設計者の頭の中にあるイメージが早期に形となる試作を作ってみれば何がうまくいくか、何がうまくいかないかが分かる小さなプログラムを追加していけば費やす労力は最小限で済む第3システムへの歩みが早まる第1のシステム:特定のアイデアを元に少人数で開発され性能が良く革新的なシステム。第2のシステム:第1のシステムに多くの人々が集まり柔軟性や拡張性を加えたシステム。市場に受け入れられて広く浸透するが性能は下がる。第3のシステム:本当の専門家が第1のシステムと第2のシステムのバランスを取って作るシステム。オリジナルのコンセプトがそのまま残り常識となる。使用するおわりに9つの定理のほかに、10の小定理というのもまとめられているがこれは以下のように説明されている(詳細は本書を参照)。9つの定理に比べると必ずしも教義として受け入れられているものではないがUNIX文化の一翼を担っている。まとめてみると現在のアジャイルやリーン開発、マイクロサービスアーキテクチャなどの開発手法も9つの定理のいくつかと同じ思想を共有しているように思え、UNIXの設計思想が現在の開発手法にも大きく影響を与えていると感じる。vol.100でも「TOPエンジニアを支える1冊」の中で一番最初にこの本が紹介されており、いまだに多くのエンジニアにとって重要な思想であることがわかる。(1)リンク・転載は法令・公序良俗に反しない範囲で自由です/著作権は全て著作者に帰属しますはてなブログをはじめよう!radiocatさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。