Is Vista mostly C# .NET?

Is C# .NET 2.0 or NET 2.0 family used in many applications I am wondering what is the market share on C# Many companies still rather program using MFC /Windows.h with C++ instead. Since I believe you will have more control on your application.

It would be nice to do a GUI like MSN Messenger 8. I heard Vista is 90% all .NET 2.0 but many other people saying it is 0%. So what is the truth



Answer this question

Is Vista mostly C# .NET?

  • Corgalore

    It depends upon what you count as being part Windows Vista.  From what I understand (and, I'm no export), they are using C/C++ for the Kernel (because you pretty much have to).  But, for most things on top of the Kernel, including libraries that are considered part of the Windows Vista SDK, are being written in C#.  C/C++ is used for parts where efficiency is of prime importance (such as low-level graphics operations), but C# constitutes the majority of it I believe.

    Part of the reason there are still some that cling to MFC/Windows.h is that probably only a portion of the Windows Controls/GDI SDK was directly accessible via .NET.  You could still tap into virtually any part of the SDK via custom-written interop libraries, but this was time consuming to implement and often clunky.  But, Windows.h/MFC was designed for the C++ world, long before .NET was invented.  The new WinFX library was designed from the ground up with .NET in mind, and can be used through .NET as easily if not more easily than through native code.

    The new Windows Presentation Foundation (part of WinFX) has a lot of new features in it that allow you to completely control the look-and-feel of the controls in your application.  Therefore, you should have not trouble making a MSN Messenger-like interface, or just about any other kind of interface for that matter.

    Edit - I should probably have phrased that third line to read "for most of the NEW libraries that run on top of the Kernel..."


  • jljamison

    Despite what you may have heard, the majority of the code in Vista is a combination of C and C++ despite there still being a whole heck of a lot of C# and .NET code within.

    Remember that Vista in many ways is just a later version of Windows 2003 Server which is a later version of XP and so on... in each case they do rewrite large sections of code, but to rewrite so much in C# would be nearly impossible given the time and personnel available... not to mention the risks of breaking stuff which they take quite seriously and because of that you’ll still be able to run virtually any app under Vista that you could run under Windows previously... including ones you might write a year or two from now in MFC.

    When it comes to designing applications for use under Vista, you may want to look into the 3.0 .NET Framework and the Vista Development Center site to learn about the suggested methods and routes as well as many articles that could answer many other questions you might have on this topic.



  • Is Vista mostly C# .NET?