Some Light Reading

Lately I’ve embarked on a project of catching up on my reading list. I’ve read a few Terry Pratchett novels, but mostly my current list consists of computer books, some old that I’ve read before, and others that are new to me.

(And yes, that is a Richard Wagner action figure in the background.)

I’ve previously read Programming Pearls, The Practice of Programming, Effective C++, and More Effective C++, but it has been several years since I last looked at them, so a re-read is in order. These are some of the best books in the field, and the Effective C++ books have even inspired a set of warnings in the GCC compiler suite (enabled with the -Weffc++ option).

I won’t try to formally review all of these books here, though I wil post my thoughts on them as I go through them. The most important message I take away from Programming Pearls, for example, is to know your craft. Understand the data structures and algorithms that are the stock and trade of programming so that you can make the best choices when designing your software. The Practice of Programming has a similar message, of course, but places an emphasis on making sure that your programs are simple, portable, and above all correct. Algorithms and data structures play an important role in reaching those goals, but so does style and a willingness to critique your own code and rewrite it when needed.

I don’t have a lot to say about these books yet, apart from the fact that all of them are consistently praised highly, but I would like to make one comment about the process of reading itself. Altogether these books total more than 5700 pages, so studying them is going to be a long and rather daunting task that will take me a few months at least. To help me achieve my goal, I have also purchased a book reading device. Behold!

Book reading device.  Really.

Yes, it’s a treadmill. And a manual one at that – there is no motor. The lack of motor means the workout is harder, but the treadmill was less expensive and has fewer parts to break. And it helps me read, because it’s an exercise device that lets me remain stationary, so I can prop a book on the boards I’ve laid over the handles and read while walking. Very useful, both for encouraging reading and also for fighting the flab that so often plagues programmers and others whose jobs involve sitting in chairs all day long.