The Unix Programming Environment

The Unix Programming Environment, first published in 1984 by Prentice Hall, is a book written by Brian W. Kernighan and Rob Pike, both of Bell Labs and considered an important and early document of the Unix operating system.

The book addresses the Unix philosophy of small cooperating tools with standardized inputs and outputs.

The reader is led through topics ranging from the use of filters, to how to use C for programming robust Unix applications, and the basics of grep, sed, make, and AWK.

The book closes with a tutorial on making a programming language parser with yacc and how to use troff with ms and mm to format documents, the preprocessors tbl, eqn, and pic, and making man pages with the man macro set.

The appendices cover the ed editor and the abovementioned programming language, named hoc, which stands for "high-order calculator".