10 Classic UNIX and C Programming Books to Enrich Your Library

by Ramesh Natarajan on May 30, 2012

These are the classic books on UNIX and C programming written few decades ago, but still the best books in its category.

  1. C Programming Language (2nd Edition), by Brian W. Kernighan and Dennis M. Ritchie – Dennis M. Ritchie is the father of C programming who passed away recently. This is hands-down the best book for those who like to master the C programming language. Every one of the best C programmers that I know recommend this book even today.
  2. The C Answer Book, by Clovis L. Tondo and Scott E. Gimpel This book contains the solutions to the exercises in ‘The C Programming Language,’ Second Edition. Even if you can figure out answers to all the exercises yourself, you should still read this book, as the authors have explained in detail about each and every solution.
  3. Unix Programming Environment, by Rob Pike and Brian W. Kernighan While this book explains in detail about how to use various tools in UNIX environment, this power of this book is in its explanation about the philosophy and fundamentals of UNIX programming environment and various tools.
  4. The Design of the UNIX Operating System, by Maurice J. Bach This is the best book that will give you the internal details about UNIX Sys V. Even thought this book was written in 1986, the concept explained in this book is still sound and extremely useful.
  5. The AWK Programming Language, by Brian W. Kernighan, Alfred V. Aho, Peter J. Weinberger This book is written by the authors of the AWK itself. This book explains the fundamentals of the AWK language and also provides several practical examples that will help you understand how to use AWK in real life scenarios.
  6. UNIX Network Programming, by W. Richard Stevens This was one of the textbooks in my College and I read this cover to cover. This is the best book even today for those who like to understand how to do Network programming using C in UNIX environment.
  7. Software Tools, by Brian W. Kernighan and P. J. Plauger This explains how to develop software tools using best practices. The examples given in this book are written using Ratfor (Rational Fortran), but it is easy to understand when you read through the code.
  8. The Practice of Programming, by Rob Pike and Brian W. Kernighan Every programmer should read this book. This book contains several advice on how to to design and write efficient program. This contains several examples in C, C++ and Java.
  9. The Elements of Programming Style, by Brian W. Kernighan and P.J. Plauger There are 77 rules presented in this book that should be followed by a programmer for good programming style. While the examples given in this book to explain these rules are written in FORTRAN and PL/I language, these rules still apply to all the programming languages.
  10. The Design and Analysis of Computer Algorithms, by Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman This was also one of the textbooks in my College. Every programmer should read this book to understand the fundamentals of several computer algorithms before they start developing any serious application. This book explains several algorithms including lists, push-down stacks, queues, trees, sorting, searching, graphing, string-matching, etc.

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 8 comments… read them below or add one }

1 kashyap May 30, 2012 at 4:26 am

Wish there would be a set of online books also :-)

2 Q May 30, 2012 at 6:20 am

Many of the books you mentioned are out of print or the mechanics of the thing they refer(as in Linux kernel or networks) have changed drastically.

Why don’t you suggest new books which You have read.

3 Ron May 30, 2012 at 7:23 am

Good List. Thanks.

Another book I had read way back then was:
C Data base Development by Al Stevens — was printed before 1991.

4 Greg Giese May 30, 2012 at 8:52 am

“C: A Reference Manual”, by Harbison and Steele
I never leave home without it in 20 years of coding.

5 Jalal Hajigholamali May 30, 2012 at 8:53 am

Good List. Thanks again

6 sergio galvan May 30, 2012 at 9:38 am

Pointers on C – Kenneth Reek it’s one of the book I bought . Definitely it should be on your shelf !

7 Dennis Lee May 30, 2012 at 11:10 pm

Typo alert. The C Answer Book was written by Clovis L.Tondo and Scott E. Gimpel not as stated above.


8 Clark Gaylord June 8, 2012 at 1:04 am

Nice list. But what about Knuth? Arguably, this could be a whole other category. Another consideration: Kaufman, Perlman, and Speciner. The latter would certainly top (or nearly top) a “top 10 security”, and hence probably puts it in consideration for a list like this.

K&R at number 1 — couldn’t agree more!

Another interesting list might be top 10 networking books — Stevens (Illustrated, though Programming also probably on the list); Perlman; perhaps Moy’s OSPF book; others?

You’re doing a great job Ramesh. Thanks for the posts.

Leave a Comment

Previous post:

Next post: