Myths about Managed Code
blogs.msdn.com
blogs.msdn.com
I thought the Mono CLR is written in C#, as is the C# compiler which compiles itself. Did I misunderstand something?
The Mono guys came to the same conclusion, their tree contains oodles of C/C++: http://www.google.com/codesearch?as_package=mono&as_file...
Of course, satellite dll's & exe tools aren't all written in managed code. It's silly to re-write everything. But the main Visual Studio application has been at least partially managed since the Visual Studio 2002 days.
P.S. I don't work for MS, but I do know this for a fact.
Props to MS for eating its own dog food if they rewrote everything for .NET
I seriously doubt they rewrote Visual Studio to be completely managed. That would be incredibly stupid for more than one reason.
The whole of VS isn't even close to being mostly managed code. While it is true that 2010's GUI is mostly managed code, thanks to WPF, the internals are entirely COM. The project system, debuggers, command system, and many other large components are all C++/COM. Even many of the components which are managed read more like C++ than like C# due to all the QueryInterface and ref counting nonsense.
Developer devision, commonly known as DevDiv, contains the VS team, programming language teams, and many other related teams. DevDiv is by far the company's largest consumer of managed code. I'd bet that there is more managed code in DevDiv's source tree than the rest of the company combined. That doesn't mean they threw out 30+ years of efforts and backwards compatibility all at once.
I did a dump of managed heap on VS2008 with a managed solution loaded. These are the Microsoft.* classes which were instantiated at the time of the dump: