Found 1 comment on HN
o_syn · 2015-04-07 · Original thread
Yes, I would highly recommend reading it, with the exception of Chapter 8.

Some of the other people have said things like: "The gist of it was that K&R ignores the safety problems in C and there is no discussion of the habits/constructs seasoned C programmers have developed to make sure their code is safe. Of course, many of those habits were developed after K&R, but that's why we need revisions and new sources."

This is indeed extremely important, but I also think in an introductory book these details will be very overwhelming. Safety in C is a very complicated topic, and indeed entire books have been written about it[1].

I find these "critiques" rather misguided. After all, we all know Newton's laws are an inaccurate picture of reality, but one would hardly start teaching quantum physics straightaway. C is a hard language with a lot of bizarre edge cases, and K&R C does an excellent job of presenting the language without all these pesky details.

The second criticism seems to be that it is outdated. This is true, but you can catch up with coding conventions and best practices very quickly.

To summarize, K&R C is excellent for introducing people to C. I would suggest completely ignoring safety issues et cetera at the start and just have fun solving the exercises!


[1] Secure Coding in C and C++ is a really good book on this topic.

PS: Since you are interested in reverse engineering, after finishing K&R C I would recommend reading Computer Systems: A Programmer's Perspective.

Get dozens of book recommendations delivered straight to your inbox every Thursday.