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!! 