persia wrote:
And they shall name it "Mac"
The Mac is nice for what it is, but it is fundamental API suffers from exactly the problem I was talking about - it's old. UNIX with or without the Apple facelift and a handful of tacked on features or Windows are the three choices available for Mac users. That's great if that's what you want, and it's certainly one more choice than PC users have, but it doesn't provide the mechanisms I wrote about. Those operating systems, and the software available for them, all require constant behind the scenes tweaking to keep them working. (Try connecting a Mac to the 'net and not running Apple Update; your system will be hosed in a couple of weeks given the rate at which the security updates alone come out.)
This isn't the way it has to be - we're just stuck with it because backwards and proprietary hardware make it next to impossible to implement an operating system without the work of hundreds of people. An open hardware platform without all the bunk baggage PCs drag around with them would allow competition in the OS realm again - something we really need. UNIX is a beast of the 60s and 70s; Windows one of the 80s and 90s. It's coming up on the time for a new paradigm.
This is not really necessary from the home user's point of view, but allow me to scare you with another perspective: my mother has worked in a hospital for 35+ years. She's a senior nurse; it's a part of her job to do things like take blood pressure readings and such, and record them. The computer system they use, a modern, Windows-based network, is so unreliable that often the measurements she is supposed to put on a patient's chart every 15 minutes will take upwards of 20 minutes just to input! Yes, it takes longer to make a chart entry than it the interval between them. There simply are no paper charts anymore - it's all in the computer. Scared yet? You should be.
The point is, our computers systems lack any mechanism for ensuring their reliability. They are so bloated and over-crowded with 'features' that they don't perform the same every time; sometimes they work, sometimes you yell at them.

It's a fact that it is possible to design reliable software, and it's possible to prove that the software is reliable. Unless, of course, you're using a PC, where even if no one has installed unneeded software, enough came with the thing to make it a complete mess.
It's been to the advantage of the computer companies to keep programmers from being able to make reliable, reusable contributions to the pool of available software because they are in it only for the money, and once you've bought it, if it doesn't work right, they will only make MORE money from the damn tech support contracts!
Government and industry have both been complaining about this for a long time. Eventually something has to give, and I really hope that the solution to this problem is an open hardware platform that is elegant enough in design to empower programmers to do our jobs effectively, efficiently, and with a minimum of error. Computers can do much more than we imagine - the last 10 years have made that blatantly obvious. It's a pity that the one thing they can NOT do is so important.