「UNIXという考え方: その設計思想と哲学」読書メモ

2024/4/19作成

2001年出版とのことですので、かなり古い本ではありますね。その出版年も日本語翻訳版ですから、原書は更に前なんですよね。なぜか原書の出版年が書いてないので分からないのですが。

UNIXということで、前提として私のUNIX経歴を書いておきましょう。最初にUNIXに触れたのは大学で研究室に配属された1992年のことでした。そこにあったのはSONY NEWS。OSはBSD系統であるNEWS-OSでした。ここでUNIXとともに、本書でも繰り返し登場するX-Window Systemも使い、UNIXの基礎を学びました。就職して使用したのはSystem-V系のHP-UXとIRIX。個人ではFreeBSDを使いつつ、2000年代に入ったあたりからLinuxを使うようになって今に至るという感じです。

UNIX哲学とまでは至りませんが、基本的な考え方として、小さな部品のプログラムを組み合わせるとか、一つのことをうまくやるとかは何度も聞いたことがあります。それを自分自身の中で咀嚼して取り入れられていたかというと微妙ですけどね。まあ、そんな感じの私が今改めてUNIX哲学について学んでみたというところです。

本書で触れられているUNIX哲学の定理を覚書も兼ねてここで書き出しておきましょう。それぞれの詳細は本書を読み返すということで。

本書を読んでいて、またこうして定理を再確認して思うのですが、どうも既視感があるなと思います。小さく作るとか、出来るだけ早く試作するとかは、アジャイルの考え方に通じるところがありますよね。一つのことをうまくやらせるというのは単一責務であったり関心の分離と言い換えることが出来そうに思います。

つまり、読んでいて思ったのは、ここ20年くらいで言われているいろいろな思想も、実はUNIX哲学を出発点にしているんじゃなかろうかと。そういう意味では我々は実はケン・トンプソンの掌の上で踊っているだけなんじゃないかって気がしないでもない。

ではケン・トンプソンが真の創始者かというと、多分それも違うんじゃないだろうか。こうした考え方は多分他の思想分野で存在していて、それをソフトウェア工学に最初に持ち込んだのがケン・トンプソンというだけで。ここは完全に私の想像ですけどね。

また、アジャイルなどがUNIX哲学の派生だったとしても、アジャイルの価値が失われるわけでもないです。アジャイルではそれぞれをより精緻に具体的に改良しているわけですから。

多分ですが、最近になってコンピュータを学び始めた人が本書を読んでも、書いてあることは全部当たり前で何が新しいのか分からないのではないかという気がします。既に一般化した考えばかりが書かれていますからね。ちょうど、現代っ子がビートルズの音楽を聴いて何が新しいのか分からないのと同じように。

そういう意味で、現代ソフトウェア工学の礎になった考え方を知る古典とは言えると思いますが、どちらかというと歴史をたどるための本であって、ソフトウェア工学を学ぶためだけであれば、より精緻で分かりやすく書かれた現代の書籍を読んでも事足りるのかもしれません。そういう位置づけの本かなと思います。