Magnolia Tech

いつもコードのことばかり考えている人のために。

「UNIXという考え方」を読み直して、考えたこと

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

  • 作者:Mike Gancarz
  • 発売日: 2001/02/01
  • メディア: 単行本

前回エントリで紹介した「リモートワークの達人 (ハヤカワ文庫NF)」は何度も読み返すべき本として紹介してもらったのだけど、その時に同時に上がったのが「UNIXという考え方」という本。

確かにこの本は自分も何度も読み直している。

なぜおなじ本、しかも技術書を読み返す必要が有るのだろう。

もうそこに書かれていることは分かっている。特に古い本ならなおさらだ。


この「UNIXという考え方」という本は、原著が1996年に出版され、日本でも2001年に出版された非常に古い本だ。

まだLinuxは2.0の時代、商用UNIXの方が信頼度が高いとされていた時代。

もう書かれていることは何度も語られている、語り尽くされている。 それでも今でも読むべき技術書の上位に位置したままランクを落とさない名著。

日本語版でもわずか148ページしかないこの本がずっと名著として語られているし、更には一度読んだだけじゃなくて何度も繰り返し、定期的に読む人がいる。


先ほども触れた通り、この本が出版されたときは1996年、まだインターネットが十分に普及していない時代だし、計算機資源の量も桁が違う。

MacがようやくPowerPCに変わっていった頃(その後Intelチップになり、更には今日ではApple Siliconになってしまった)。

その時代に、更に時代を遡って、それまでリリースされたUNIXに関する設計思想というか、その思想を後世の人が輪郭として抽出したことが解説されている。

  • 定理1:スモール・イズ・ビューティフル
  • 定理2:一つのプログラムには一つのことをうまくやらせる
  • 定理3:できるだけ早く試作を作成する
  • 定理4:効率より移植性
  • 定理5:数値データはASCIIフラットファイルに保存する
  • 定理6:ソフトウェアの挺子を有効に活用する
  • 定理7:シェルスクリプトを使うことで挺子の効果と移植性を高める
  • 定理8:過度の対話的インタフェースを避ける
  • 定理9:すべてのプログラムをフィルタにする

今の時代ではあまり重要視されなかったり(定理7とか)、今でも十分に通用するものもある(特に定理3)。

また、最近ではそれに続く「さらなる10のUNIXの考え方」に挙げられている「劣るほうが優れている(worse is better)」がよく語られている気がする。

「劣っている」という言葉の印象が強いので、非常に興味を引く言い回しだからかもしれない(本当に興味深い内容なので、ぜひ読んで欲しい)。


冒頭の疑問に戻ると、単なるhowを解説した技術書は時代と共に古くなり、顧みられることは無いが、このような「考え方、why」を問う本は、その時の自分の経験値、重要視している課題によって、「どこに一番関心を持つか?」というのが変わってくる。

その変化に気づくことが何度も読む理由ではないだろうか。

本に書かれていることは変わっていないけど、自分はどんどん変わって行く。良い方向かもしれないし、悪い方向かもしれない。

そんな時に、このような、何度も読める「強度」を持った本を読み直すことで、その立ち位置を改めて認識できるのかな、と考えた。

良い本は何度も、定期的に読み返そう。