Tag Archives: competition

My delicious.com bookmarks for January 14th through January 15th

Eight Best Computer Books

It’s been over five years since I last told you about my favourite computer and programming related books (don’t believe the date on that article. It’s been edited lightly a couple of times since I first posted it).

Having said that, some things have not changed. The vast majority of books on the shelves of your local retailer are very specific. Publishers seem to eschew broad, generally useful texts in preference for yet another beginners guide to Microsoft Word or C++ (or, more likely, Visual C++ 2005 Special Easter Edition SP2). I do not understand this. Sure, there’s a genuine need for “how to” books for specific technologies but is it not more useful to learn how to solve problems in general rather than how to solve a particular problem with a particular product?

Worse, most are not even particularly well written. Deadlines are so strict that authors have to write quickly rather than accurately or well. Ultimately the drive to be the first publisher with the definitive guide on Word 2007 (August Edition) trumps all. One that galls me is that most programming language books assume that you are learning to program from scratch. Is C++ really likely to be your first language? I think not.

The other continuing trend is the size of them. Is it necessary for every book to be a thousand pages long and be stuffed with screen-shots? None of my favourites are like this.

As with the last list, I have not just focused on your typical “computer science” text, if anything I have shied away from them. Hopefully if you go pick up a copy of all these books you’ll find them all to be both useful and entertaining to read.

Additionally, I find most of them to be books that are worth returning to, if not as a reference guide then as something that increased experience make each read make more sense.

So, let’s get to the point. What are my favourite computer books, and why?

  1. Code Complete. If you’re writing or designing software you need this book. As I said last time, it ‘is one of those books that does the job so well it has no obvious competition. It describes the complete coding process right from low level design through to unit testing and, while most people would have been very prescriptive, McConnell outlines the pros and cons of each approach.’ Now on its second edition, it is still, as far as I know, without peer.
  2. The Mythical Man Month. People never seem to learn. Managers still seem to add more staff to already late projects. Brookes said all this, and a lot more, in this book way back in the seventies.
  3. Accidental Empires. Robert X Cringely’s history of the early PC industry is a fascinating and entertainingly written anecdote-fest. He claims neither to be complete nor objective, yet seems to cover all the bases. Since most people these days deal predominantly with x86 architecture machines I think everyone should know the heritage and how we got from Bletchley Park to an iMac. (But without the iMac as it was written years before Apple returned to form.)
  4. Professional Software Development. When I first bought this I was a little annoyed. It’s actually the second edition of McConnell’s ‘After the Goldrush,’ just coming with a different name! I’m not sure that I would have bought it had I known, but I would have missed out. This is the only book of the eight here that talks about the industry as a whole, and how we should move away from the typical, and surprisingly common, “code and fix” development. He talks about certifications; architects; heavyweight methodologies; personality types; and a whole lot more. I can’t say that I agree with every last sentence, but it’s well worth reading just to get a perspective.
  5. Peopleware. It’s amazing to think that it took until the 1980’s before the human elements of writing software were seriously considered. Even now most Computer Science seems to concentrate on the more technical aspects. This book was probably the first to discuss the “human factors” of software development and is still the best that I’ve read.
  6. Programming Perl ((This link is to the third edition. I currently only have the second.)). I include this book at least partially because I wanted to show that it was possible to have a densely technical book that was also well thought out and entertaining. The structure is superb and I can’t think of any other programming tomes that have made me laugh out loud.
  7. In the beginning was the command line… ((You can also download it from Neal Stephenson’s website.)) I think that this is an interesting book for two reasons. Firstly it describes the reason why Unix is as it is better than any other. Secondly, it explains the various major operating systems (and some minor or — now — non-existent ones) in approachable analogies rather than dense jargon.
  8. Conceptual Blockbusting. There are few other professions where your output is almost entirely brainpower. A computer program is really little more than a slightly less ephemeral rendition of pure thought. So if you can’t think your way out of a particular problem you’re in trouble! This book makes you more aware of your own intellectual processes and outlines different ways of approaching problems. Invaluable.

As you may have noticed, many of these books are the same as last time! Does this indicate that I’ve been reading less? A little perhaps, but I’d like to think that it’s because by picking books not related to specific versions of particular technologies I’m increasing my odds of finding the classics.

What do you think? Any other good choices that I missed?

Why I hate Dummies Guides

It’s not all the books that purport to tell you all you need to know about Microsoft Excel or the Missing Manual for the iPod, although I do question the utility of a thousand page tome about an MP3 player. No, the thing that annoys me are those friendly looking yellow and black books that are marketed at Dummies.

Why would I object to a series of books that tries to make a complex subject clear and approachable?

My opposition is not the content. The books that I have seen tend to have a better word-to-picture ratio than many of the competition. Many publishers seem to think that printing a number of large, colour screenshots is a good substitute for incisive and entertaining writing. Sorry, it just isn’t.

Neither is my objection with the level they are aimed at. I have no problem with someone not knowing much about any given subject — we’re all in that boat from time to time. I can’t honestly say that I’ve ever bought a book on how to use a specific application, but that’s not to say that I can’t see any need for such a category.

And, it’s not even the quality of the information contained in them. I would have to concede that some of the Dummies Guides are not half bad. I got my dad a book on Microsoft Word and it seemed to be aimed at just about the right level. It included plenty of hint and tips, just the kind of thing that might trip up the unwary.

It’s not even the cutsey presentation. I can’t say that I’m a big fan of the array of icons that draw out important details, but, frankly, it needs doing somehow and the style is obviously attractive to many.

So what is it?

It’s the title. To me, the word “dummy” and the kind of person that it appeals to suggests a particular attitude of the reader. It says that not only does the reader not know the subject, but is actually proud of the fact. I just hate the idea that people are satisfied that they don’t know something. Why be proud of ignorance?

So long…

Cornelius Maximus Wilmington the 4th
Cornelius Maximus Wilmington the 4th

This morning a member of the Darlington household passed away quietly in his sleep. Cornelius Maximus Willmington IV was less than a year old. He is survived by our other goldfish, Bob.

Cornelius was never the brightest fish in the bowl, and it’s not like he was up against stiff competition. He often did “Jaws” impressions, his fin breaching the surface of the bowl but terrorising few, and had a tendency to try to eat bubbles rather than the food we fed them every day.

But he was never a well fish. To our surprise, his buoyancy problem is a well known condition. We tried to feed him green peas — the rather odd sounding solution — but Bob would normally get to them first, even if it required pushing Cornelius out of the way and swallowing half a pea at a time.

He’ll be missed. As B said, “Swim off to better places, little dude .”