Search This Blog

Free Download | The C Programming Language, Second Edition | Brian W. Kernighan, Dennis M. Ritchie


Let me start off by saying that I'm not a novice programmer, so this review will be biased given that fact alone. That said this book was an eye opener on so many levels. One thing that is NEVER touched upon by other C programming books is project management and modularization. Chapter 4 of this book had a great discussion on techniques to organize code. This is not a big deal for the hobbyist, but for us programmers in industry dealing with large embedded projects it is. E.g., try to avoid extern variables, publish only what is needed to header files, etc.

Outside of that K&R avoids the pitfall of discussing every single  point; they only discuss what is necessary to write modular, system independent, and well organized code. This book also discusses the history of parts of the language and what the intent was when writing the language. This is far more important than many people think because now you're tapping into years of rich programming experience at Bell labs where K&R worked.

Lastly, this book CAN be conquered by novice programmers, but they will have to read this book slowly and hang on every word. This isn't too daunting because, excluding the reference, we're looking at 189 pages of text. Not all of the problems need be worked to gain full understanding of this book. Some problems are trivial, while others are so broad that the answers border on becoming subjective. Either way, they should all be attempted and thought about. A solution manual is worth investing in, but is not necessary. If you decide to embark on the journey through this book devote AT LEAST a month to it. Reading slowly and actively thinking about what's going on will reward you with a lifetime of C programming knowledge.