The first conversations about what would become Roslyn were already ongoing when I joined Microsoft in 2005 — just before .NET 2.0 would ship. That conversation was about rewriting C# in C#. This is a normal practice for programming languages; a proof point of the maturity of the language. But there was a more practical and important motivation: We as the creators of C# were not programming in C# ourselves, we were coding in C++! Working in C# every day makes you think differently about C#: It’s the power of “dogfooding”.