“Quality is inversely proportional to complexity multiplied by time.”
As Complexity increases, Quality decreases.
As time moves forward quality still decreases even if complexity remains the same.
For computers, year after year, the hardware and software gets more complex and this multiplication results in the abysmal, and rapidly declining, quality we’re experiencing in the computing industry.
Perhaps it’s due to the fast computers and lots of memory and disk space that breeds carelessness, but for whatever reason, the quality of some programs written by some of the world’s largest (not finest) companies is just awful. These same companies also charge for upgrades that contain more useless and buggy features. We upgrade on the hope that the old version’s bugs are fixed in the new version. They often aren’t, or they’re broken in different ways.
Of course, it’s not just large, monolithic corporations that tolerate lousy programming. It’s endemic in the industry. Too much pressure to ship, ship lots of features, and let the customers do your testing.
When you see great programs these days, you know that the programmers are truly superstars in their field because they’re so uncommon.
When I was programming, I took it as a personal failure if someone reported a bug in my code. Now, too many programmers just shrug their shoulders and give you the "whatever" look. Bugs are expected; what’s the big deal, right? Wrong. I don’t expect perfection, I expect ownership.
I created this law many years ago, the exact date escapes me. The text above is repeated here, unchanged and it’s surprising how accurate this law is after all these years. Will nothing ever change in the industry?
When you say that Snow Leopard will be mainly a bug fix, that tells you what you yourselves think of the quality of Leopard. Frankly, I think you’re giving yourselves too much credit. Leopard is far worse than you think. And your other applications? Needs work is being kind.