Re: “Codifying good software design”: The software reliability crisis has very little to do with greed, engineering incompetence or the lack of codes, in my opinion. There is something fundamentally wrong with the way we program our computers, something that no amount of quality control measures can ever cure.
The reason that software is bad has to do with a custom that is as old as the computer: the practice of using the algorithm as the basis for software construction. Switch to a synchronous, signal-based approach and the problem will disappear. For an alternative approach to software construction see this article in The Silver Bullet News .
Regardless of what has been said in the past, the problem can be solved. Otherwise, we are in big trouble, very big trouble.
Louis Savain is a software engineer.