How much .NET into Vista?

What will be the amount of .NET code into Windows Vista is a question that everyone that loves the .NET Framework has asked at least once, but I hope that someone is not waiting for a new Windows version totally based on managed code: it's pure fantasy!

I've read the interesting research conducted by Richard Grimes and the reactions around the results make me thinking that someone is waiting for a new ".NET Windows"... If this is so, forget it for the moment...

This is a summary of Grimes'research that shows how much .NET code there's under the Vista builds:

Windows Longhorn PDC03 build:

File Type Count
Total Number Of Files 3242
Executable Files 2078
Managed Executable Files (Assemblies) 35
Executable Files that Host the Runtime 0
Unmanaged Executable Files 1941
Non-PE Files 102

Vista Beta 1:

File Type Count
Total Number Of Files 4358
Executable Files 2590
Managed Executable Files (Assemblies) 10
Executable Files that Host the Runtime 0
Unmanaged Executable Files 2470
Non-PE Files 110

Vista PDC 2005 Build:

File Type Count
Total Number Of Files 4093
Executable Files 2545
Managed Executable Files (Assemblies) 15
Executable Files that Host the Runtime 0
Unmanaged Executable Files 2426
Non-PE Files 104

Vista Build 5231:

File Type Count
Total Number Of Files 3364
Executable Files 2481
Managed Executable Files (Assemblies) 25
Executable Files that Host the Runtime 1
Unmanaged Executable Files 2358
Non-PE Files 97

Vista Build 5270:

File Type Count
Total Number Of Files 5115
Executable Files 2581
Managed Executable Files (Assemblies) 24
Executable Files that Host the Runtime 1
Unmanaged Executable Files 2444
Non-PE Files 112

Vista Build 5308:

File Type Count
Total Number Of Files 5086
Executable Files 2606
Managed Executable Files (Assemblies) 27
Executable Files that Host the Runtime 0
Unmanaged Executable Files 2464
Non-PE Files 115

I've read a lot of reactions after these reports: where is the .NET code on Vista? Is the .NET code too much unsecure? Has Microsoft lost its confidence in .NET?

.NET platform will be an essential part of Microsoft's future OS and it will be totally integrated into the system, but you can't think that the OS core itself will be made with managed code, it's a pure dream (for the moment). The core of a complex OS like Vista must be extremely performant and C and C++ code is the natural choice (the kernel is the software layer nearest to the machine level).

.NET is not a system programming environment at the moment and it will be used only for NEW applications that will interact with Vista, not for rewriting existing old applications (such as Notepad) as I've read in the past.

If you don't think that Microsoft believes on .NET for its main applications, I want to place here an old post by Dan Fernandez:

"...For those of you that refuse to believe, here's an estimate of the lines of managed code in Microsoft applications that I got permission to blog about:

  • Visual Studio 2005: 7.5 million lines
  • SQL Server 2005: 3 million lines
  • BizTalk Server: 2 million lines
  • Visual Studio Team System: 1.7 million lines
  • Windows Presentation Foundation: 900K lines
  • Windows Sharepoint Services: 750K lines
  • Expression Interactive Designer: 250K lines
  • Sharepoint Portal Server: 200K lines
  • Content Management Server: 100K lines"

Don't think on .NET as a platform to build a complex OS like Vista, it's not its natural target... .NET is a complex and complete platform to build applications on top of the Windows system. Maybe a day we'll see a managed OS (Microsoft's Research Team is working on project for a C# based OS called Singularity for example) but this is not the road now...

Long life to .NET!!

Print | posted on Thursday, March 16, 2006 5:51 PM

Comments on this post

# re: How much .NET into Vista?

Requesting Gravatar...
Just a few comments to clarify things. The article on my site came after I had spent two years trying to get people at Microsoft - like Dan Fernandez and Eric Rudder - to tell me about how much Microsoft were using .NET in their products. Remember, this was to me as an insider and I told them I was not going to publish what they said. But they still avoided the question. The fact that they were so cagey about .NET made me wonder what they were scared about. The list that Dan Fernandez gave would not have appeared if I had not published my article.

Another thing you should note is that some of that list (like WPF, which itself is actually a .NET wrapper over the unmanaged milcore.dll, the real WPF engine) are development libraries. Others like SQL Server, VS and VS Team system are substantially unmanaged, the managed parts are merely reusing bits like the property grid.

Others like Expression, Sharepoint and CMS are .NET apps, but as I have mentioned on my site, these are hardly billion dollar revenue generating products.

I have always said that I am a .NET enthusiast, but also, I have always said that I will use the right tool for the job. The fact that Microsoft based the early versions of Longhorn on .NET showed that they realised the benefits of the framework. Then they ripped .NET out of Vista and this worried me, because I wanted to know why. Why did Microsoft decide that Avalon was not suitable for the Vista desktop, but then they tell me that I am supposed to use WPF for my applications? I never found Avalon to be unusable (taking into account I was using an alpha product), so what did Microsoft find? And the problem that they found, is it still in WPF? By the way, they base the Vista desktop on milcore.dll; Microsoft have created their own unmanaged API to use milcore.dll, so why haven't Microsoft published this for us to use?
Left by Richard Grimes on Apr 08, 2008 12:55 PM

Your comment:

 (will show your gravatar)
 
Please add 3 and 5 and type the answer here: