The Unix Programming Environment
ISBN 0-13-937681-X | |
The Unix Programming Environment, first published in 1984 by
Unix philosophy
The book addresses the Unix philosophy of small cooperating tools with standardized inputs and outputs. Kernighan and Pike gives a brief description of the Unix design and the Unix philosophy:[1]
Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools.
The authors further write that their goal for this book is "to communicate the UNIX programming philosophy."[1]
Content and topics
The book starts off with an introduction to Unix for beginners. Next, it goes into the basics of the
Historical context
Although Unix still exists decades after the publication of this book, the book describes an already mature Unix: In 1984, Unix had already been in development for 15 years (since 1969), it had been published in a peer-reviewed journal 10 years earlier (
In retrospect, not only was 1984 not an early stage of Unix's evolution, in some respects it was the end of Unix evolution, at least in
C programming style
The book was written before ANSI C was first drafted; the programs in it follow the older K&R style. However, the source code available on the book's website has been updated for ANSI C conformance.
Critical reception
Technical editor Ben Everard for Linux Voice praised the book for providing relevant documentation despite being 30 years old and for being a good book for an aspiring programmer who does not know much about Linux.[2]
Editions
- ISBN 0-13-937681-X(paperback)
- ISBN 0-13-937699-2(hardback).