DATE: Wed 28 Apr 2021 By: HexDSL@Posteo.net
Unusually for me, I read this in print not digital there are some thoughts on the physical book before I begin my usual rambles. For some reason when wanting to learn a topic or skill I find print actually helps. No idea why. Anyway…
I wanted to finally get around to having a functional understanding of C code. In part because I find it interesting and in part because I think as Linux user and free software advocate, I will be able to put some basic C knowledge to good use. I don’t plan on making a game or building a new desktop environment. I just want some better insight into the tools I use.
This book weighing in at around 192 pages is no epic tome. The high quality green cover proudly tells us that it’s “in full color” as if this matters in a programming book. The pages are higher quality than I would usually expect from a book like this and have a pleasing matt finish. There is no gutter loss to speak of and it’s a solid box cut spine. It stood up to all my post-it-note attacks as well as blatantly disrespectful page bending. As much as this will make some people raise an eyebrow, I even know it withstands pencil marks and erasers. Part of the reason I want my educational books in print is so that I can “work” them.
I am at this point well known for being a multi-book reader. At any given time I’m jumping in and out of a few works. With my desire to learn some C I was no different so picked up maybe five books to dig through and compare examples. This one however was the one that sucked me in and got me to finish.
The reason that this one was floated to the top for me was that the “easy steps” it claimed to have actually ARE easy steps. In fact, possibly a little too easy. I almost felt like I was reading the equivalent of Young Adult Fiction in tutorial form
Each topic is an explanation followed by broken down code, being explained bit-by-bit. There are little icons off to the side to highlight points and note things down. There are then summaries at the end of the section reiterating key points.
The examples are broken down into commands and each command is explained in a few lines of text. The overall text is clear and concise which is good given that it’s repeated each time the command is used. This is actually not a negative though as it serves to embed information well.
Each time a new command appears we are given a few paragraphs of text explaining both its purpose and the reason it was chosen over other options.
The book seems to touch on all of the key words in C and while not in-depth about the ways that they can be used to interact it does a good job of making you aware of them and giving you a good foundational starting point for expanding on.
The examples themselves do an excellent job of explaining all the commands they use. Special care is taken to explain loops in all their forms and the code is formatted excellently (in my opinion at least)
One of the criticisms I have is about the little “icons” off to the side of the page that are supposed to act a little information lines and warnings. They are mostly unrequired because of how well explained the points were but on the odd occasion I did struggle to really grasp a point that was being raised, they did nothing. By the end of the book I was seeing them as little more than page decorations. They are also the only reason the book “full color” was really used on many pages. Still they didn’t actually harm the work. They just didn’t add to it.
The only other problem I had with the book was the last tutorial. A simple guide on how to draw a window on the screen. This was supposed to act as a “just so you know, this can be done” kind of topic where we take an existing tutorial and embed it in a dialogue box.
My problem was not with the exorcise, it was good book end for the lessons but it was Microsoft Windows specific. I’m not sure who is still using windows as anything other than a games-console but certainly no person wanting to learn C would expect to do so on windows. This seems like a strange edge case and an odd choice as default.
I wouldn’t have given this oddity a second thought though if it wasn’t the only version of the example. So, it’s still a mystery to me how to draw windows. I assume one of the (many) other books I have will enlighten me with a more rational tutorial on this topic.
An excellent starting point for anyone who wants to learn C with only the most basic skills “assumed” by the ‘tutor.’
I found it to be an excellent starting point if a little too basic at times. Given that this book is under £10 (sterling) I think it’s well worth the look. I would say though that if you have any sort of pre-existing C knowledge no matter how “basic” you consider it, then maybe skip this one. Perhaps the “head first” series by Riley would be a better starting point for you.