home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


C.3 Programming with the Unix Mindset

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.

  1. Software Tools , Brian W. Kernighan and P. J. Plauger, Addison Wesley, Reading, MA, USA, 1976. ISBN: 0-201-03669-X.

    A wonderful book[2 ] that presents the design and code for programs equivalent to Unix's grep , sort , ed , and others. The programs use RATFOR (Rational FORTRAN), a preprocessor for FORTRAN with C-like control structures.

    [2] One that changed my life forever.

  2. 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.

  3. 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 and yacc . See http://cm.bell-labs.com/cm/cs/upe .

  4. 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.

  5. 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 .

  6. 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.

  7. Programming Pearls , Jon Louis Bentley, Addison Wesley, Reading, MA, USA, 1986. ISBN: 0-201-10331-1.

  8. 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.

  9. 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.


Previous: C.2 Unix Internals UNIX in a Nutshell: System V Edition Next: C.4 Programming Languages
C.2 Unix Internals Book Index C.4 Programming Languages

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System