So Microsoft's big news is that they're finally unveiling their breakthrough new operating system. And what are the breakthroughs? Well, it won't crash as much, and it won't be as vulnerable to attacks by every freshman comp. sci major with too much spare time. Whoop-de-doo!
Ok, there's nothing original about bashing Microsoft. They're trying. In some ways, the sheer volume of their sales means there are bound to be disgruntled customers. They deserve some credit for trying to re-gruntle them.
My biggest complaint with Microsoft is not faults with Windows or the Office applications. (Those are littler complaints.) My biggest beef is that developing software just isn't any fun anymore. When I started writing software, back in the days of the abacus, you'd think of what you wanted to do, and get it working within a day or so. Running it would then give you more ideas about what it could do, and you'd start coding again. There was a feedback loop of writing code to solve a problem, and then seeing opportunities to generalize the code to handle more and different problems.
Now I know all the history of software engineering as a discipline, with procedures for developing specifications, designing, implementing, testing, etc. I have no problem with that. What I object to is that now I spend probably 80% of my implementation time on complying with various APIs, interfaces, protocols and conventions. That leaves 20% (minus other overhead) for actually doing the fun stuff. And for that, I think the structure and definition of the Microsoft SDKs, frameworks and APIs are largely to blame.
I'll elaborate on this later.