This book is really one of the last books I read in 2014, but it’s taken me a while to write it up because I’m a procastinator and because I wanted to nearly-simultaneously write it up for the professional(?) blog. But now that I’m content to recycle most of the content, it’s much easier. It’s always much easier when you just give up.
As its title implies, this book really does contain a set of rules for programmers to follow: The left pages have the rules in large font, and the right pages have the rules explained in a paragraph or two. The book focuses not only on programming best practices, but also on software development best practices, and these are much more applicable to modern programming than the pre-object oriented programming lessons.
For example, first and foremost are the rules about making sure your program answers the users’ needs. Rules like:
- Fit your program to your users’ needs.
- Aim your program at the widest circle of users
- Explain to your user how to use the program
- Make it easy for the user to run the program
Other rules cover interface design, such as Display results with pertinent messages which are just as relevant now as it was when the interface designed displayed only green or amber text.
Even the discussion of loops, variables, and breaking your program into sections has a sort of relevance because it discusses these things philosophically, at a high level, in a way that programming how-to books and online language tutorials do not.
It’s a quick read or browse; although it’s roughly 220 pages (which is still slim by modern, $60 computer book standards), it’s really less than that since the text is not densely packed on the pages as described above, and it’s worth the time for the insights not only into the crystallized rules but also in the recognition of some software development problems and goals predate the Internet, which I am pretty sure some of our younger co-workers don’t know.
But now that I’ve read it, I’m torn. Do I put it on my regular read bookshelves, or do I put it on the computer programming bookshelves along side twenty-year-old hardware primers and introductions to the C programming language (some of which are thirty years old)? Well, the decision is probably less philosophical and more practical in nature: there’s space on the regular shelves, whereas the computer bookshelves are tightly pressed with books I have not read. Also, they’re behind four comic book long boxes containing most of my comic book collection and a couple other boxes of paraphernalia.
So I’m definitely putting it on the regular shelves. Because I’ve read it completely, unlike the other computer books which were for reference, text books, or the hope thirty years ago that I’d be more of a knowledgeable IT professional than I actually am. Not because I’m lazy.
Books mentioned in this review: