32 lines
2.2 KiB
Markdown
32 lines
2.2 KiB
Markdown
---
|
|
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
|
|
---
|
|
|
|

|
|
|
|
**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. |