I'll agree that WinRT is not complete, but that's hardly COM's fault. The real story is that they thought they could replace decades of development platform evolution in a 3 year development cycle. And even in that 3 years, they didn't think things through very well, or make many attempts to learn from history. With that I would disagree that it's a good/bad, .NET/COM axis. Many programmers are productive with Win32 and COM in ways that they are not with WinRT.