Dove posso trovare la specifica del linguaggio C # 6.0? [chiuso]


85

So dove trovare la specifica del linguaggio C # 5 ma non riesco a trovare la specifica del linguaggio C # 6 da nessuna parte.

Dov'è la specifica del linguaggio C # 6 ?


7
Ma provare a cercare qualcosa che non esiste su Google (specialmente alcune parole chiave non googly come "C #") può essere estremamente insoddisfacente. Stack Overflow è stato il primo posto che mi ha detto che non esiste (ancora?) Quale altro sito Stack Exchange consiglieresti invece per questo tipo di richiesta?
Wormbo

30
Chiedere la specifica formale di una lingua è molto diverso dal "chiedere un libro, uno strumento" ecc. La regola esiste per scoraggiare le domande pigre. La specifica di una lingua d'altra parte è indispensabile per qualcuno che vuole creare ad es. un analizzatore o parser
Panagiotis Kanavos

25
Votare per riaprire questa domanda in quanto è esattamente il genere di cose per cui le persone verranno a SO, quando cercheranno la risposta (come ho appena fatto).
David Arno

3
@DavidArno è d'accordo, ecco perché sono qui oggi, 2015-10-05 ... anche se non è ancora disponibile una specifica del linguaggio c # 6.0 finalizzata, imho dovrebbe almeno esserci una bozza online che sia facile da individuare. github.com/dotnet/roslyn non è utile in quanto riguarda più l'implementazione di c # e vb che la specifica del linguaggio c #. Standard ECMA-334 C # Language Specification 4a edizione (giugno 2006) non è aggiornato. Microsoft, ne abbiamo bisogno!
gerryLowry

4
Dopo aver installato Visual Studio 2015, sono rimasto anche piuttosto deluso di scoprire che C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx(dove si 14.0riferisce a VS2015) è solo una copia della vecchia specifica C # 5, non una nuova specifica che riflette la "realtà" di VS2015 e C # 6.
Jeppe Stig Nielsen

Risposte:


33

Al momento della scrittura (maggio 2016) Microsoft non ha ancora terminato l'aggiornamento delle specifiche per C # 6. Nel frattempo, ho pubblicato l'ultima bozza corrente di Microsoft delle specifiche C # 6 qui: https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

Questa bozza attuale è quasi finita, salvo per alcuni commenti e controlli da fare. (Questa versione è stata convertita in github + markdown, ma ha anche collegamenti per scaricare versioni DOCX e PDF della specifica e un collegamento per scaricare la grammatica in formato ANTLR).

Per un elenco completo di tutte le modifiche alle specifiche da C # 5 a C # 6, vedere la richiesta pull: https://github.com/ljw1004/csharpspec/pull/1/files

(Perché Microsoft non è ancora riuscita a rilasciare ufficialmente la specifica C # 6? A causa del lavoro in corso per allinearsi con ECMA, che ovviamente richiede tempo; sembrava un peccato spendere sforzi per una versione della specifica C # 6 ora solo per avere una versione successiva della specifica C # 6 che verrà rilasciata più tardi dopo l'allineamento con ECMA).


Qualche idea su dove posso trovare i dettagli sulla whenparola chiave? Ho trovato solo frammenti e si tratta più del filtro delle eccezioni come argomento generale piuttosto che dei dettagli sulla parola chiave.
David Pine

32

Non esistono specifiche per C # 6.0 allo stesso livello di una volta per le versioni precedenti.

La cosa più vicina sono le note di progettazione per Roslyn su CodePlex (e andando avanti su GitHub).

Ecco un elenco delle funzionalità di C #:

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

Ed ecco le note per l'operatore di propagazione null, ad esempio:

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


Poiché il team di progettazione del linguaggio si è trasferito su GitHub, è possibile continuare a seguire il filtro Design Notes nel repository Roslyn per vedere la creazione di C # 7.0:

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


2
Grazie, Bar. Hai una fonte canonica che dice che non sarà rilasciata una specifica?
Alex Booker

@ Petrichor purtroppo no.
i3arnon

1
@ThomasLevesque bene, questo è stato progettato all'aperto con il feedback dei clienti e ci sono note di progettazione separate per ogni funzionalità.
i3arnon

3
Le specifiche di @ThomasLevesque sarebbero quindi uscite dopo l'effettiva implementazione? ...
Philippe

1
@AlexBooker Questa mi sembra una fonte canonica: twitter.com/MadsTorgersen/status/704434833041158145
i3arnon

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.