Announcing Open Source C# standardization
The C# compilers have been open source since 2014, now in the dotnet/roslyn repository. The dotnet/csharplang split off to provide a dedicate public space for the innovation and evolution of the C# language. Now, dotnet/csharpstandard completes the group, providing a public space for the ongoing work to document the standard for the latest C# language versions.
Moving the standards work into the open, under the .NET Foundation, makes it easier for standardization work. Everything from language innovation and feature design through implementation and on to standardization now takes place in the open. It will be easier to ask questions among the language design team, the compiler implementers, and the standards committee. Even better, those conversations will be public.
The end result will be a more accurate standard for the latest versions of C#.
Opening the process
The ECMA C# standards committee, TC-49-TG2 is still responsible for creating the proposed standard for the C# language. What changes is that work now happens in the open, under the .NET Foundation. You can see work in progress on the standard text for C# 6. This work merges the draft spec currently hosted in the
csharplang repository with the current C# 5.0 standard text. Work on incorporating the C# 7 features is taking place as well. See the C# 7 draft branch for progress.
The addition of
dotnet/csharpstandard means there are now three different repositories related to the C# language. Each has a well-defined purpose:
dotnet/csharplangis for language design and evolution efforts.
dotnet/roslynis for the implementation of the compilers and related tools.
dotnet/csharpstandardis for the creation of the standard text that describes the C# language.
The addition of
dotnet/csharpstandard to the .NET Foundation means we can direct work to the correct place more easily. You’ll see the following changes over the coming months:
- Issues in
dotnet/docsfor the spec text will move to the new
- This will take place during the next month or two.
- The C# spec on docs.microsoft.com will be replaced with the version from the standards committee.
- This will take place once all C# 6 pull requests have been reviewed and merged in the standards repo.
- The C# 6 draft spec will be removed from the
- This will take place once the proposed C# 6 draft is published on docs.microsoft.com.
You can participate by reviewing the PRs, opening issues for changes that aren’t covered, and helping refine the language in PRs.
Moving the standards work into a public repository took the cooperation of the members of the C# standards committee, the chair, vice-chair and secretary of ECMA TG49, and the .NET Foundation board. We invite you to participate by identifying issues, reviewing proposed text, and suggesting improvements. We’re excited to move this work into the open, and invite all of you along.