whatisgithub

What is csharplang?

dotnet/csharplang — explained in plain English

Analysis updated 2026-06-24

12,598C#Audience · developerComplexity · 1/5Setup · easy

In one sentence

The public home for designing the C# programming language, feature proposals, design meeting notes, and language specifications. Not a runnable library, it is where you follow or contribute to how C# evolves.

Mindmap

mindmap
  root((csharplang))
    What It Is
      Feature proposals
      Design meeting notes
      Language specification
    Proposal Process
      Open discussion first
      Champion required
      Multiple review stages
    Outcomes
      Accepted features
      Deferred proposals
      Rejected ideas
    Audience
      C# developers
      Language researchers
      Microsoft design team
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Follow the C# design process to understand why a language feature works the way it does.

USE CASE 2

Submit a proposal for a new C# language feature by opening a GitHub discussion topic.

USE CASE 3

Research how programming language decisions get made by reading the design team's meeting notes.

What is it built with?

C#

How does it compare?

dotnet/csharplangwmjordan/pdfpatcherunity-technologies/unitycsreference
Stars12,59812,38512,831
LanguageC#C#C#
Setup difficultyeasyeasyeasy
Complexity1/52/51/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

This repository is the official home for designing the C# programming language. It is not a software library or a tool you run. Instead, it is a public record of how the C# language evolves: proposals for new features, notes from design meetings, and the specifications that describe what the language does. The C# Language Design Team at Microsoft holds regular meetings to discuss proposed changes to the language. Notes from those meetings are stored here, and the community can follow along or contribute ideas through discussions on GitHub. If someone wants to suggest a new feature, the process starts with opening a discussion topic rather than submitting a pull request directly. A proposal only moves forward if a member of the design team agrees to champion it. Proposals go through several stages: initial discussion, prototype implementation, full specification, and finally inclusion in a numbered C# version. Not every proposal makes it through. Some are deferred, some are rejected, and a separate milestone tracks ideas the team has decided are unlikely to ever be included. The repository also links to the formal language specification, which lives in a separate Microsoft repository, and to the Roslyn compiler, which is the reference implementation of C#. For developers curious about where C# is heading, or researchers interested in programming language design, this repository provides a transparent view into how decisions get made about one of the most widely used programming languages.

Copy-paste prompts

Prompt 1
Summarize the current status of the C# language proposal for pattern matching improvements based on the csharplang GitHub discussions.
Prompt 2
Explain the difference between the C# language specification in csharplang and the Roslyn compiler implementation.
Prompt 3
How do I write a well-formed C# language feature proposal that has a realistic chance of being championed by the design team?

Frequently asked questions

What is csharplang?

The public home for designing the C# programming language, feature proposals, design meeting notes, and language specifications. Not a runnable library, it is where you follow or contribute to how C# evolves.

What language is csharplang written in?

Mainly C#. The stack also includes C#.

How hard is csharplang to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is csharplang for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.