Walter Manger | To The Triforce
Quests for Knowledge

Learning C/C++ Again

I’ve been wanting to get back into C/C++ for a while now, but I was unsure how I would go about creating a learning environment. There are many tutorials available out there, but I tend to lean toward structured learning – like the way you would learn in a classroom setting. I quickly searched on Reddit and some other outlets about the best books to buy, but after reviewing a few, I was left empty handed. As you can probably imagine, the book that gets recommended the most is K&R’s The C Programming Language. I think that it is a great recommendation, but I read that book cover to cover a few years ago. I was looking for something different as most tech books of this nature get boring quickly and most definitely if you are re-reading it.

Goodwill FTW

The other day I went to a near by Goodwill just to see what kind of books would be available and sure enough, gathered among diet books and romantic novels was: C How To Program 2nd Edition by Dietel & Dietel. This book is likely out of date with best practices for modern C, but what I was looking for was a thorough introduction to C/C++. This looks like it is what I was looking for. It has pretty good reviews on Amazon too. I plan on picking up some books on modern best practices after this introduction.

Schedule

I don’t intend on spending too much time hammering through the entire book. Just a refresher for the first few chapters by skimming through and writing some of the more difficult programs for each chapter. Pointers are presented in Chapter 7, so that’s where I’ll likely slow down. I know pointers, but my working knowledge of them is lacking. My previous exposure to pointers and working experience in Golang is useful in some ways, but C/C++ pointers are pretty different.

Expectations

What I hope to do is get good enough with C/C++ so that it is easier to read source for things like the Linux kernel and general GNU utilities. Eventually, I’d like to contribute to these types of things. Hopefully this first step is a step in the right direction.