You should read this book if you are an experienced Unix
programmer who is often in the position of either educating novice
programmers or debating partisans of other operating systems, and you
find it hard to articulate the benefits of the Unix approach.
You should read this book if you are a C, C++, or Java
programmer with experience on other operating systems and you are
about to start a Unix-based project.
You should read this book if you are a Unix user with
novice-level up to middle-level skills in the operating system, but
little development experience, and want to learn how to design
software effectively under Unix.
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. So we will pay more
attention to non-Unix environments (especially Microsoft operating
systems) than is usual in a Unix book; and when tools and case
studies are portable, we say so.
You should read this book if you are an application architect
considering platforms or implementation strategies for a major
general-market or vertical application. It will help you
understand the strengths of Unix as a development platform, and
of the Unix tradition of open source as a development method.