Suppose you hire a "powerful, can-do-anything" butler from the Acme Household Service company. You ask him to make a peanut butter sandwich. He says, "I have grape jelly and orange marmalade; which do you prefer?" And then brings you a sandwich. That's the MacOS. Then the Acme decides that he is too old and fires him. The replacement they send over is a fellow with long grey hair and wrinkled skin showing through a thick layer of pancake makeup. You ask him to make a peanut butter sandwich, and he says, "What's peanut butter?" Welcome to OSX.
Acme's competitor down the street hires out 20 butlers for every one that Acme places, so you ask them to send over a butler. You ask him to make the benchmark peanut butter sandwich, and he says, I have this jar of stuff called peanut butter; should I open it? Which way do I turn the lid, clockwise or counter-clockwise? Should I use a knife or a fork or a spoon to spread it? Would you like anything else on your sandwich, perhaps salsa, or jelly or jam or mustard or pickles or leftover roast beef?" You have amazing control over what kind of peanut butter sandwich this fellow makes, but what a hassle! That's the power of Windows. It's really about taking power away from the computer and making the user do what you bought a computer to do.
Me, I want a computer that knows how to do the right thing and does it. If I want something different, I can ask for it. That was the Mac.
Can you guess? Today I tried to do something on the PeeCee. I got it done, but oh, what a hassle. sigh
Last year I wrote a program in VisualBasic (version 6) to do some processing on genetic sequence data. VisualBasic is Microsoft's answer to HyperCard: not as powerful (read: not as easy to use) as the defunct Apple product, but it beats the tar out of C in terms of raw power. Unfortunately, Microsoft's attitude toward VB6 is about the same as Apple's toward their fine product: they discontinued it. They have a new product out with the same VisualBasic name, but it's radically different and it refuses to import VB6 programs. Taking their (non-)support of VB6 as a predictor of the future, I have to believe that their new "Dot-Net" is effectively unsupported and therefore unusable in a commercial environment.
I spent two days in HyperCard and had a translation program that converts 99.5% of the VisualBasic code to syntactically correct C++. This is what Microsoft could have done, if they wanted to keep their customer base. Such are the economics of doing business with a monopoly. Fortunately, the VB6 program file is plain text and easily figured out. The user interface part is another day of hacking, to convert it to the (also text) user interface specification file for a competitor's tool. That's the one nice thing about Unix: everything is text and easy to hack. Which is more about the power of the programmer (in this case, me) than the system. Anyway, that was three days' work and $1600 that I would not have had to spend if Microsoft had done the minimum effort to support legacy code. There's more to do (this is, after all, a Unix-based program) before it will run... sigh
For such reasons, I do not buy nor recommend Microsoft products when there is a viable alternative. Unfortunately, Apple has taken themselves out of the running, and unix -- well, eunuchs still cannot perform. sigh
Will things ever get better? Don't bet on it, not in your or my lifetime.
The Golden Age is past, and everybody who wanted to do it well is gone;
nobody is left but people in it for the money. Entropy strikes again!