Où puis-je trouver la spécification du langage C # 6.0? [fermé]

84

Je sais où trouver la spécification du langage C # 5, mais je ne trouve nulle part la spécification du langage C # 6.

Où se trouve la spécification du langage C # 6 ?

Alex Booker
la source
6
Mais essayer de rechercher sur Google quelque chose qui n'existe pas (en particulier un mot clé non-googly comme "C #") peut être extrêmement insatisfaisant. Stack Overflow a été le premier endroit qui m'a dit que cela n'existait pas (encore?). Quel autre site Stack Exchange recommanderiez-vous à la place pour ce type de demande?
Wormbo
29
Demander la spécification formelle d'une langue est très différent de «demander un livre, un outil», etc. La règle existe pour décourager les questions paresseuses. La spécification d'un langage par contre est indispensable pour quelqu'un qui veut créer par exemple. un analyseur ou parseur
Panagiotis Kanavos
25
Voter pour rouvrir cette question car c'est exactement le genre de chose pour laquelle les gens viendront à SO, lorsqu'ils chercheront la réponse (comme je viens de le faire).
David Arno
3
@DavidArno est d'accord, c'est pourquoi je suis ici aujourd'hui, 05/10/2015 ... même s'il n'y a pas encore de spécification du langage C # 6.0 finalisé, à mon humble avis, il devrait au moins y avoir une version préliminaire en ligne facile à localiser. github.com/dotnet/roslyn n'est pas utile car il s'agit davantage de l'implémentation de c # et vb que de la spécification du langage c #. Standard ECMA-334 C # Language Specification 4ème édition (juin 2006) est obsolète. Microsoft, nous en avons besoin!
gerryLowry
4
Après avoir installé Visual Studio 2015, j'ai également été assez déçu de constater que C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx(où 14.0fait référence à VS2015) n'est qu'une copie de l' ancienne spécification C # 5, pas une nouvelle spécification reflétant la «réalité» de VS2015 et C # 6.
Jeppe Stig Nielsen

Réponses:

33

Au moment de la rédaction de cet article (mai 2016), Microsoft n'a pas encore terminé la mise à jour de la spécification pour C # 6. En attendant, j'ai mis en place la dernière version actuelle de Microsoft de la spécification C # 6 ici: https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

Ce brouillon actuel est presque terminé, à l'exception de quelques commentaires et vérifications TODO restants. (Cette version a été convertie en github + markdown, mais elle contient également des liens pour télécharger les versions DOCX et PDF de la spécification, et un lien pour télécharger la grammaire au format ANTLR).

Pour une liste complète de toutes les modifications de spécifications de C # 5 à C # 6, consultez la demande d'extraction: https://github.com/ljw1004/csharpspec/pull/1/files

(Pourquoi Microsoft n'a-t-il pas encore réussi à publier officiellement la spécification C # 6? En raison des travaux en cours pour s'aligner sur ECMA, ce qui prend bien sûr du temps; il semblait dommage de déployer des efforts sur une version de la spécification C # 6 maintenant seulement pour qu'une version ultérieure de la spécification C # 6 sorte plus tard après l'alignement avec ECMA).

Lucian Wischik
la source
Une idée où je peux trouver des détails sur le whenmot-clé? Je n'ai trouvé que des morceaux, et il s'agit plus du filtrage des exceptions en tant que sujet général que des détails sur le mot-clé.
David Pine
32

Il n'y a pas de spécification pour C # 6.0 au même niveau que pour les versions précédentes.

La chose la plus proche est les notes de conception pour Roslyn sur CodePlex (et aller de l'avant sur GitHub).

Voici une liste des fonctionnalités C #:

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

Et voici les notes pour l'opérateur de propagation nul par exemple:

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


Depuis que l'équipe de conception du langage est passée à GitHub, vous pouvez continuer à suivre le filtre Design Notes sur le référentiel Roslyn pour voir C # 7.0 entrer en vigueur:

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

i3arnon
la source
2
Merci, Bar. Avez-vous une source canonique qui dit qu'aucune spécification ne sera publiée?
Alex Booker
@Petrichor malheureusement, non.
i3arnon
1
@ThomasLevesque eh bien, celui-ci a été conçu à l'air libre avec les commentaires des clients et il y a des notes de conception distinctes pour chaque fonctionnalité.
i3arnon
3
Les spécifications @ThomasLevesque seraient alors publiées après la mise en œuvre réelle? ...
Philippe
1
@AlexBooker Cela me semble être une source canonique: twitter.com/MadsTorgersen/status/704434833041158145
i3arnon