diff --git a/content/images/c-knking.jpg b/content/images/c-knking.jpg new file mode 100644 index 0000000..7523873 Binary files /dev/null and b/content/images/c-knking.jpg differ diff --git a/content/posts/BookReview-ModernC.md b/content/posts/BookReview-ModernC.md new file mode 100644 index 0000000..c2a2713 --- /dev/null +++ b/content/posts/BookReview-ModernC.md @@ -0,0 +1,32 @@ +--- +title: "Book Review: \"C Programming: A Modern Approach\" by K.N. King" +date: 2023-12-16T16:21:04-05:00 +toc: false +images: +tags: + - Reading + - Computer Science + - Programming +--- + +![Cover Photo](/images/c-knking.jpg) + +**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](https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X) I'm currently reading, or the history/legacy of UNIX and UNIX-like systems. \ No newline at end of file