Sunday, July 02, 2006

What you need to know

I'm often disappointed by the poor quality of the complex products that are sold to consumers. One manual I had proudly said "Your set-top-box is like a PC .... reboot ...." - No! A set-top-box should be like a TV - switch it on and it works - keep it switched on and it keeps working.

The root of the quality problem is the move to digital. Digital means computers and once you start using computers you gain all the benefits and problems of your system being implemented as software. And if software development is not part of your heritage the move is tough.

So what needs to be done? I was reminded by a recent article by Randall Hyde in ACM Ubiquity,
"The Fallacy of Premature Optimization" that programmers must remain aware that they are progamming a computer with particular performance properties and they need to know about how computers work. Hyde's article gives a list of books "covering topics that practicing software engineers should master" and I would add Jon Bentley's excellent Programming Pearls.

No comments:

Search This Blog