Personal-Website/content/posts/BookReview-ModernC.md
Ben Hays e14bd5f205
All checks were successful
Build Hugo Site / build (push) Successful in 11s
Initial commit
2024-01-27 23:55:41 -05:00

2.2 KiB

title date toc images tags
Book Review: "C Programming: A Modern Approach" by K.N. King 2023-12-16T16:21:04-05:00 false
Reading
Computer Science
Programming

Cover Photo

Note: This isn't going to be a very long or comprehensive review of this book, but I figured it might make sense to post some of my thoughts on it regardless.

"C Programming: A Modern Approach" by K.N. King made quite a nice read. Very insightful in some aspects, but a few bits were a tad cryptic ("few" might be an over-exaggeration, it was mostly just the bitmasking section). It felt a lot more accelerated than K&R's famous "C Programming Language" text, which I definitely enjoyed. It was also significantly more affordable and available than K&R's book, which is certainly a major win for those reading this for school-related reasons.

The syntax of C isn't too hard to grasp if you've programmed before, but the many developer patterns (King refers to them as "C idioms") and niche edge-cases that cause undefined behavior can be quite a monster to tackle as a learner. Luckily, King does a good job of informing the reader by dedicating countless pages to inform the student of these situations and how to handle them in the Q&A sections at the end of each chapter. I find this to be a quite refreshing improvement compared to K&R.

I'd likely recomend King's book to anyone wishing to learn C, especially if you plan to take a Systems course in the future, or need to read a bit of C code for your work. I probably wouldn't recomend it to someone without programming experience, but then again I wouldn't recomend C for new programmers in general.

Pros

  • Usually straight to the point, doesn't get on tangents
  • Affordable compared to other C texts
  • Contains basic information about languages like C++ in relation to C

Cons

  • Lower level knowledge is required/useful after Ch. 10
  • Lacks additional material about advanced concepts like theading and optimization

Coming Soon...

My next writings will likely be something related to the book I'm currently reading, or the history/legacy of UNIX and UNIX-like systems.