Preface

Who Should Read This Book

対象読者を列挙しているが、私が最も該当するのは次の文の後半だろう:

You should read this book if you are a non-Unix programmer who has figured out that the Unix tradition might have something to teach you. We believe you're right, and that the Unix philosophy can be exported to other operating systems.

How to Use This Book

この本の正しい読み方を次のように述べている:

Absorbing these examples will help solidify the principles you learn into semi-instinctive working knowledge. Ideally, you should read this book near the console of a running Unix system, with a Web browser handy. Any Unix will do, but the software case studies are more likely to be preinstalled and immediately available for inspection on a Linux system.

幸い Web ブラウザーで本書 HTML 版を読んでいるので、デスクトップにはあとは端末エミュレーターとテキストエディターのウィンドウがあれば十分だ。

技術書一般でも技術者でない読者がいる可能性がある。次の記述からは脚注の設け方を見習いたい:

To make this book more accessible to less technical readers, we invited some non-programmers to read it and identify terms that seemed both obscure and necessary to the flow of exposition. We also use footnotes for definitions of elementary terms that an experienced programmer is unlikely to need.

本書と目的が近い図書をいくつか挙げ、その距離と位置関係を述べた後に唐突に禅の話が入る:

References to Zen are scattered throughout this book. They are included because Zen provides a vocabulary for addressing some ideas that turn out to be very important for software design but are otherwise very difficult to hold in the mind. Readers with religious attachments are invited to consider Zen not as a religion but as a therapeutic form of mental discipline — which, in its purest non-theistic forms, is exactly what Zen is.

Conventions Used in This Book

In this book we use “Unix” in the looser sense widely current among programmers, to refer to any operating system (whether formally Unix-branded or not) that is either genetically descended from Bell Labs's ancestral Unix code or written in close imitation of its descendants. In particular, Linux (from which we draw most of our examples) is a Unix under this definition.

本書の性質上、Unix という単語を何よりも先に本書独自に定義している。これによれば、私が利用している WSL も Unix であると当然みなされる。

This book employs the Unix manual page convention of tagging Unix facilities with a following manual section in parentheses, usually on first introduction when we want to emphasize that this is a Unix command.

これは Unix に関する技術書全般でも適用される表記法のようなものだ。必修だ。

本書の指す new-school と old-school の区分は次のように指定されている:

In this context, it's associated with the rise of scripting languages, GUIs, open-source Unixes, and the Web. Old-school refers to the pre-1990 (and especially pre-1985) world of expensive (shared) computers, proprietary Unixes, scripting in shell, and C everywhere.

先ほど Linux は Unix だと述べていたことと、この文中の対比各種とが調和している。

Our Case Studies

例えば GIMP は本書出版から二十年以上経った現在でも現役だ。

Author's Acknowledgements

ゲスト寄稿者が多数いるようなので、楽しみにこの後を読む。

Also as always, responsibility for any errors in the resulting work remains my own.

定型文と考えられるが、憶えておきたいフレーズだ。

Interested readers should see Design Patterns: Elements of Reusable Object-Oriented Software for an introduction to design patterns.

本書はデザインパターン本よりも若い。

書名の元ネタを明かすのは謝辞の節の最後から二番目のパラグラフでだ:

The title of this book is, of course, a reference to Donald Knuth's The Art of Computer Programming. While not specifically associated with the Unix tradition, Knuth has been an influence on us all.