Re: Linux has facilitated the cituation he is lamenting about
"80/20 rule" (etc.)
well, SOME of what you're saying is correct, but I think you got it backwards for other stuff...
The biggest problem with Windows has been TOO MUCH on the "20%". Except NOW they're removing that 20% and saying "do it OUR way" and taking away choices, legacy hardware support, etc.. (Win-10-nic and 2D FLATSO being the 2 worst outcomes from this).
On a related note, Linux has focused more on the 80% until recently, with a huge push to support every possible bit of hardware that exists, and NOT remove legacy hardware support while doing it.
The RT system with ".Not" - just "ew". It was a SNAFU out of the concept box. It should have NEVER been done, like disco "music" and Obaka-care. Developers took ONE look and went "W.T.F.?" and didn't play in Micro-shaft's sandbox under Micro-shaft's ridiculous rules. And, with lack of "Developers, developers, developers, developers" even the CUSTOMERS said "W.T.F." and now it's *HISTORY*.
The ".Not" initiative was the _WORST_ thing (next to Win-10-nic and Windows "Ape") that Micro-shaft EVER rectally extrapolated out of the bowels of HELL. Ballmer did it the moment he took the reigns from Bill. But I'll reserve THAT discussion for another forum...
However, you're #3 comment is RIGHT ON. "Having apps run without being retargeted for different CPUs conflicted with MS desire of a walled garden. They wouldn't be able to have a controlled App store under the "RT" model.". THAT it DOES! Though, of course, using ".Not" run-time might as well cripple your 'app' into a 'CRapp', so 'go figure' on THAT one.
Developer note: If I MUST need a VM to run my application, I'll write it in JAVA. THEN, it should run EVERYWHERE, literally, and NOT just on stupid ".Not" capable winders boxen. The fact that I don't really like Java is the only reason I haven't done this... [ok I've been forced into it for Android development, but still...]