I heard almost all parts of Windows are written in C and C++ with some assembly. Why did Microsoft skip C#? Is there any scope for C# in the development of future Windows versions?
|
closed as not constructive by tdammers, gnat, BЈовић, Martijn Pieters, World Engineer♦ May 4 at 23:34
As it currently stands, this question is not a good fit for our Q&A; format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
C++ gives you access to the underlying hardware, something C# can't provide. So for the foreseeable future, Windows will be built in C++ (as parts as still built in assembly where raw performance and interrupt handling are necessary). As a proof-of-concept, Microsoft Research built Singularity, a C#-based operating system. It uses a superset of C# called Spec# and some other extensions to minimize the need for C++ and other lower-level languages. |
|||||||||
|
In direct answer to your question, I bet you'd find that most of Windows pre-dates C# in any case. Who's to say what will happen in the future? I've seen so many revolutionary ideas from MS over the last 25 years that I've lost count. But I read somewhere that VS2012 (the gui at least) was entirely rewritten in C# and WPF, so maybe you could take that as a sign of future direction? But I wouldn't put money on it. |
|||
|
Not working in product development but clearly microsoft windows for good years will still be developed in C and C + +. This is because the languages allow / provide access to hardware to a safe level instruction. C # runs on MSIL and has no goal of being language OS. |
|||||
|
At the time, there were no serious competitors to C/C++ in systems programming and now it's a legacy codebase that would probably cost a lot to port. C# also did not exist back then. For the record, there are attempts to turn .NET into an OS platform but these are not Microsoft projects. |
|||
|