How Microsoft rewrote its C# compiler in C# and made it open source (2017)
1–10 of 136 posts
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#2Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#3Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#4Why isn't the native code compiler also now written in C#, like Java is doing?
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#5I still can't believe more people aren't leveraging the Roslyn APIs to write compiler extensions or additional tools around C#. It's conceptually powerful.
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#6I still can't believe more people aren't leveraging the Roslyn APIs to write compiler extensions or additional tools around C#. It's conceptually powerful.
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#7I still can't believe more people aren't leveraging the Roslyn APIs to write compiler extensions or additional tools around C#. It's conceptually powerful.
I looked at bit when I was in preview. It’s indeed powerful but also quite verbose and it distinguish between a lot of concepts, so there is a steep learning curve. Then there was the lack of examples beyond a few blog posts.
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#8Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#9I still can't believe more people aren't leveraging the Roslyn APIs to write compiler extensions or additional tools around C#. It's conceptually powerful.
Re: How Microsoft rewrote its C# compiler in C# and made it open source (2017)
#10Why isn't the native code compiler also now written in C#, like Java is doing?
That said, large-scale rewrites don't happen just because engineers feel like doing them. In the case of Roslyn, there were multiple compilers (C# language compiler, VB language compiler, C# tooling compiler, VB tooling compiler, etc.), requiring an enormous cost to evolve C# and VB as languages while ensuring that end users of these languages had a good experience using tools like Visual Studio. Beyond that, there was a host of additional tooling to provide more advanced code analysis that was equally expensive to maintain and evolve as the languages evolved. This meant that the kinds of language and tooling innovations end users expected was more challenging to meet. A similar set of challenges - focused on problems centered around the end users - must exist to justify the enormous cost of rewriting a massive engineering system.