The problem with windows is not so much the NT kernel itself (although the NT kernel has its legacy induced pitfalls), but the bloated cruftyness that has built up over the past decade or so.
IE8's upcoming standards mode is a perfect illustration of Microsoft's woes. Ars Technica has two articles
that can spell it out better than I can, but I will try to summarize. IE5 was broken. Every web developer knew this and Microsoft knew this. Due to overwhelming market share, however, much of the web was hacked and coded to play nice with IE5's broken rendering. In IE6 MS introduced "standards mode." Web sites could put up a flag and tell IE to render according to official standards, otherwise it would render according to IE5's broken methods. Problem is, IE6's standards were not actually standards. They too were broken, but in a different way. In IE7, MS made more of an attempt to adhere to standards and kept the separate modes. This broke a lot of websites, they were still using IE6 "standards," so they would not render correctly in the default quirks mode, but they also would not render correctly in IE7's standards mode. In IE8, MS is going to add a third mode. Quirks mode will render according to the old, old, broken methods. Standards mode would render according to IE7's standards mode, and the new mode would actually adhere to HTML standards. Out of a fear of "breaking the web" by actually complying with HTML standards, IE8 was originally going to default to "standards mode" (read - IE7's broken standards). Thankfully it will actually comply (at least to most standards).
These are the problems that MS faces every time they update, but keep backwards compatibility, and it is a major reason for bloat. Vista didn't break apps because the system was changing, it broke apps because it was fixing XP's broken API's. Problem is, a lot of enterprise and other apps depend on the broken behavior to work. So Microsoft patches and patches and bends over backwards to make apps that depend on broken behavior work, apps that depend on broken behavior that was "fixed" in the past, and apps that depend on the API's actually working the way they say they'll work.
Maybe Microsoft doesn't need
to start from a clean slate. The NT kernel still works, even if it reflects design decisions that were acceptable compromises back in the 16-bit days. The system built on top of it, though, is a mess. Can anybody explain, for example, why the 64-bit binaries reside in system32, whereas the 32-bit binaries reside in syswow64? It's all stuff that may or may not have made sense when it was implemented, but sure as hell doesn't make sense as a whole. All of that crap builds up exponentially, and compounds itself to the extent that Microsoft is forced to extend XP support to more then a decade to cope with the fact that their dinosaur of a new OS can't run on the emerging ultra low cost laptop market. Linux and OS X can run on a phone. I don't think we'll be seeing Vista there any time soon.
@paul - From your comments in this thread it seems like you have never done any software development. If this is untrue I apologize, but you must realize that the view from a user's perspective is not at all indicative of the state of the system. One thing MS is big on is that from one version to the next, it's still Windows. The user's experience stays relatively the same, but underneath the cracks are most definitely showing.Edited by rabidgnome229 - 7/1/08 at 5:47pm