Where Can I Find the C# Language Specification 6.0? [closed]
Asked Answered
K

3

85

I know where to find the C# 5 Language Specification but I cannot find the C# 6 Language Specification anywhere.

Where is the C# 6 Language Specification?

Kingcup answered 24/7, 2015 at 18:48 Comment(7)
But trying to google for something that doesn't exist (especially some un-googly keyword like "C#") can be extremely unsatisfying. Stack Overflow was the first place that told me there is no such thing (yet?). Which other Stack Exchange site would you recommend instead for this kind of request?Malisamalison
Asking for a language's formal specification is very different from "asking for a book, tool" etc. The rule exists to discourage lazy questions. A language's specification on the other hand in indispensable for someone that wants to create eg. an analyzer or parserSavick
Voting to re-open this question as it is exactly the sort of thing that people will come to SO for, when looking for the answer (as I just did).Amortize
@DavidArno agreed, that's why i'm here today, 2015-10-05 ... even if there is no finalized c# 6.0 language specification yet available, imho there should at least be a draft version online that is easy to locate. github.com/dotnet/roslyn is not helpful as it is more about implementing c# and vb than about the c# language specification. Standard ECMA-334 C# Language Specification 4th edition (June 2006) is outdated. Microsoft, we need this!Heliogravure
Microsoft, this specification should be available directly online in order to make it searchable; not just as a downloadable document! Often Eric Lippert answers SO questions with "... you can find this in the C# specs...", but unfortunately online searches do not point us to these specs!Burgh
After installing Visual Studio 2015, I was also quite disappointed to find that C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx (where 14.0 refers to VS2015) is just a copy of the old C# 5 spec, not a new spec reflecting the "reality" of VS2015 and C# 6.Palatial
Stack Overflow does not aspire to be a web traffic router. This page was rightfully closed and should remain closed because it is literally asking for an external reference.Injury
F
33

At time of writing (May 2016) Microsoft hasn't yet finished updating the spec for C#6. In the meantime, I put up Microsoft's latest current draft of the C#6 spec here: https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

This current draft is almost finished, save for a few remaining TODO comments and checking. (This version has been converted into github+markdown, but it also has links to download DOCX and PDF versions of the spec, and a link to download the grammar in ANTLR format).

For a complete list of all spec changes from C#5 to C#6, see the pull request: https://github.com/ljw1004/csharpspec/pull/1/files

(Why hasn't Microsoft yet got around to officially releasing the C#6 spec? because of work in progress to align with ECMA, which of course takes time; it seemed a shame to expend effort on a release of the C#6 spec now only to have a subsequent version of the C#6 spec come out later after alignment with ECMA).

Franklynfrankness answered 5/5, 2016 at 14:27 Comment(1)
Any idea where I can find details on the when keyword? I have only found bits and pieces, and it's more about the exception filtering as a general topic rather than the details on the keyword.Pallas
D
32

There aren't specification for C# 6.0 at the same level there used to be for previous versions.

The closest thing is the design notes for Roslyn on CodePlex (and moving forward on GitHub).

Here's a list of the C# features:

https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Documentation

And here are the notes for the null-propagating operator for example:

https://roslyn.codeplex.com/discussions/540883


Since the language design team moved to GitHub you can continue following the Design Notes filter on the Roslyn repository to see C# 7.0 coming into existence:

https://github.com/dotnet/roslyn/labels/Design%20Notes

Duax answered 24/7, 2015 at 19:0 Comment(8)
Thank you, Bar. Do you have a canonical source that says there won't be a specification released?Kingcup
@Petrichor unfortunately, no.Duax
That is too bad. I hope you do not feel slighted in the least when I say that I am dubious about this.Kingcup
@Petrichor none at all.Duax
There isn't a specification yet, but I'm pretty sure there will be. There were specifications for all previous versions of C#, I don't see any reason why this one would be different.Gantt
@ThomasLevesque well, this one was designed in the open with customer feedback and there are separate design notes for each feature.Duax
@ThomasLevesque specs would then come out after the actual implementation? ...Nancynandor
@AlexBooker This seems like a canonical source to me: twitter.com/MadsTorgersen/status/704434833041158145Duax
T
2

The latest draft of the C# 6 specification is at https://github.com/dotnet/csharplang/blob/master/spec/README.md

Touched answered 7/4, 2017 at 17:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.