01 January 2011

C All-in-One Desk Reference For Dummies

Overview

I’m coming from a Perl background as it was my first language, I thought it would be nice to play with a lower level language and believe it or not, despite being a for dummies books this book turned out to be useful for learning out the basics of C programming.

Content

I must admit that was a bit apprehensive at first since after all, this a Dummies book and they often have a poor reputation in the tech world but I made sure to read the reviews on Amazon to see if it had any worth and I decided to order it anyway.

A strong point from the start is that the book isn’t operating system specific.

Since installing GCC is a breeze on any Linux distribution, it was nice to be up and running quickly without having to fiddle with too many things and just to type out and compile the examples and exercises right away

First, there’s the obvious hello world and introduction to the syntax, variable declaration, looping and all that.

While it’s a dummies book, it surprisingly tackles the task of teaching you about memory management which a good thing for a few reasons. First, you get to appreciate how easy it is with more modern/higher level languages to do string manipulations, since there’s no such thing as a string in C, only fixed sized arrays of characters into which you must implement almost everything you normally and come to take for granted use manually.

I have to admit that I found this frustrating at first but if you think more deeply, it’s obvious that many other languages are actually implemented in C under the hood, so learning the basic of memory management and chunks of bits is a valuable assets to keep the limitations of how computers work in mind.

There’s also a nice chapter that goes a little deeper and introduces you to the world of memory addresses, pointers and how they can be useful but it fails to address any real world use case scenario outside of the pretense of learning about how they work.

The book is a nice complement to the K&R classic which I’m reading at the moment, but in addition to what I’ve mentioned already, it goes a little deeper in other directions you might not expect, like a primer of the usage implementation of some of the most used data structures such as unidimensional and multidimensional arrays, linked list, double linked list, etc.

From the sheer number of pages of the book, you end up covering quite a lot in the end, although you will not be able to create any serious bigger programs using the sole knowledge provided.

Verdict

I don’t think I’ll read it again but I could easily recommend it to anyone willing to learn C.



blog comments powered by Disqus