http://www.vanityfair.com/news/business/2012/08/microsoft-lo...
Some excerpts:
By 2002 the by-product of bureaucracy—brutal corporate politics—had reared its head at Microsoft. And, current and former executives said, each year the intensity and destructiveness of the game playing grew worse as employees struggled to beat out their co-workers for promotions, bonuses, or just survival.
... Then, in June 2004, Steve Jobs announced that Apple was releasing its new operating system, called “Tiger.” And inside Microsoft, jaws dropped. Tiger did much of what was planned for Longhorn—except that it worked.
E-mails flew around Microsoft, expressing dismay about the quality of Tiger. To executives’ disbelief, it contained functional equivalents of Avalon and WinFS.
“It was fucking amazing,” wrote Lenn Pryor, part of the Longhorn team. “It is like I just got a free pass to Longhorn land today.”
Vic Gundotra, another member of the group, tried out Tiger. “Their Avalon competitor (core video, core image) was hot,” he wrote. “I have the cool widgets (dashboard) running on my MAC right now with all the effects [Jobs] showed on stage. I’ve had no crashes in 5 hours.”
... Longhorn was doomed. A few months later, Allchin brought together the Longhorn team and made the announcement: Microsoft couldn’t complete Windows Vista in time to hit the latest planned release date. In fact, the company couldn’t foresee any launch date. So a decision had been made at the most senior reaches of Microsoft: after three years of work, throw everything out and start over. It was decided, at least for now, to drop or modify many of the original objectives; no more using C#, abandon WinFS, and revise Avalon.
Apple was already in the market with those features; Microsoft was basically giving up in its effort to figure out how to make them work.So what did they use instead? C++ ?
Yes, that's pretty much what the bulk of everything that comes with Windows is written in.
https://blogs.msdn.microsoft.com/dsyme/2012/07/05/more-c-net...
Using COM and AOT compilation, instead of the CLR and JIT.
That is why Windows 8 eventually introduced the WinRT, which is basically the COM+ Runtime of Ext-VOS, but using .NET metadata instead of COM type libraries.
The C++/CLI syntax was re-purposed for C++/CX and Windows Runtime Library became the ATL replacement for this new improved COM.
.NET got improved AOT compilation story instead of NGEN, and COW was improved so that .NET could have a good story for writing and consuming WinRT components.
EDIT: It isn't COW, rather RCW and CCW.
I worked on XP and a little bit of Longhorn. In my opinion one of the reasons was that much of the product direction and leadership shifted. The MSN app team merged with the shell team after XP shipped and JoeB, who was running the shell/UX team moved to a new team.
I wouldn't categorize Longhorn as a failure, but a step in a larger pattern of large release: 95, XP, Win7 and then, typically shorter releases in between that are managed differently: 98, ME, Vista.
During those days the Windows division was the one running the OS, C and C++ compilers, while .NET belonged to DevTools division.
So if .NET ever became a success implementing Longhorn, it would mean the Windows division would loose internal power, so many things failed, because instead of improving the languages or runtimes, people would rather see all implode.
So can see how this played by what happened following Longhorn's demise.
Many of the Win32 APIs that should have been .NET code, had been turned into COM APIs. Actually since Vista the majority of new APIs are all COM based (WinRT is also COM).
The Hilo C++ example of the new way of coding with COM for desktop applications was made available.
And the whole "going native" message started coming out of MSDN blogs and there was even a few Going Native conferences before Microsoft merged them CppCon.
The Visual C++ team was ramped up again, as they had moved most of the people out back in the "we are going .NET" days.
The WP 7 with its .NET/JIT model was shown the door.
The COM+ Runtime, which was the genesis of .NET before Microsoft decided to create the CLR instead, was brought back to life but with .NET metadata instead of COM type libraries.
.NET got the Singularity compiler retargeted for Windows Phone 8, with AOT compilation to native code taking place at the Windows store. The MDIL format is native code that just lacks linking, which is done at install time on the WP 8.x devices.
With the going native wind still kind of going strong and Midori ramping down, Project N eventually became what is nowadays known as .NET Native.
So if you look at UWP stack, either .NET or C++/CX, Longhorn is here just based on COM instead of CLR.
I don't know if I am wrong or right, but this is how I read everything that happened, having Windows developer experience since the Windows 3.0 days.
Admittedly without the lost "pillar" of WinFS. Although I suppose these days you could call Cortana a close cousin to some of the original WinFS goals, just from a "cloud-first" direction instead of a "device-first" approach.