Any book written by Brian Kernighan deserves careful reading, usually several times. The first two books present the Unix "toolbox" programming methodology. They will help you learn how to "think Unix." The third book continues the process, with a more explicit Unix focus. The fourth and fifth are about programming in general, and also very worthwhile.
, Brian W. Kernighan and P. J. Plauger, Addison Wesley, Reading, MA, USA, 1976. ISBN: 0-201-03669-X.
A wonderful book[
] that presents the design and code for programs equivalent to Unix's grep
, and others. The programs use RATFOR (Rational FORTRAN), a preprocessor for FORTRAN with C-like control structures.
Software Tools in Pascal
, Brian W. Kernighan and P. J. Plauger, Addison Wesley, Reading, MA, USA, 1981. ISBN: 0-201-10342-7.
A translation of the previous book into Pascal. Still worth reading; Pascal provides many things that FORTRAN does not.
The Unix Programming Environment
, Brian W. Kernighan and Rob Pike, Prentice-Hall, Englewood Cliffs, NJ, USA, 1984. ISBN:0-13-937699-2 (hardcover), 0-13-937681-X (paperback).
This books focuses explicitly on Unix, using the tools in that environment. In particular, it adds important material on the shell, awk
, and the use of lex
. See http://cm.bell-labs.com/cm/cs/upe
The Elements of Programming Style
, Second Edition. Brian W. Kernighan and P. J. Plauger, McGraw-Hill, New York, NY, USA, 1978. ISBN: 0-07-034207-5.
Modeled after Strunk & White's famous The Elements of Style
, this book describes good programming practices that can be used in any environment.
The Practice of Programming
, Brian W. Kernighan and Rob Pike, Addison Wesley Longman, Reading, MA, USA, 1999. ISBN: 0-201-61586-X.
Similar to the previous book, with a somewhat stronger technical focus. See http://cm.bell-labs.com/cm/cs/tpop
Writing Efficient Programs
, Jon Louis Bentley, Prentice-Hall, Englewood Cliffs, NJ, USA, 1982. ISBN: 0-13-970251-2 (hardcover), 0-13-970244-X (paperback).
Although not related to Unix, this is an excellent book for anyone interested in programming efficiently.
, Jon Louis Bentley, Addison Wesley, Reading, MA, USA, 1986. ISBN: 0-201-10331-1.
More Programming Pearls: Confessions of a Coder
, Jon Louis Bentley, Addison Wesley, Reading, MA, USA, 1988. ISBN: 0-201-11889-0.
These two excellent books, to quote Nelson H. F. Beebe, "epitomize the Unix mindset, and are wonderful examples of little languages, algorithm design, and much more." These should be on every serious programmer's bookshelf.
Advanced Programming in the Unix Environment
, W. Richard Stevens, Addison Wesley, Reading, MA, USA, 1992. ISBN: 0-201-56317-7.
A thick but excellent work on how to use the wealth of system calls in modern Unix systems.