¿Dónde puedo encontrar la especificación 6.0 del lenguaje C #? [cerrado]

84

Sé dónde encontrar la Especificación de lenguaje C # 5 pero no puedo encontrar la Especificación de lenguaje C # 6 en ninguna parte.

¿Dónde está la especificación del lenguaje C # 6 ?

Alex Booker
fuente
6
Pero intentar buscar en Google algo que no existe (especialmente una palabra clave poco activa como "C #") puede ser extremadamente insatisfactorio. Stack Overflow fue el primer lugar que me dijo que no existe tal cosa (¿todavía?). ¿Qué otro sitio de Stack Exchange recomendaría en su lugar para este tipo de solicitud?
Wormbo
29
Pedir la especificación formal de un idioma es muy diferente de "pedir un libro, una herramienta", etc. La regla existe para desalentar las preguntas perezosas. Por otro lado, la especificación de un lenguaje es indispensable para alguien que quiera crear, por ejemplo. un analizador o analizador sintáctico
Panagiotis Kanavos
25
Votar para reabrir esta pregunta, ya que es exactamente el tipo de cosas por las que la gente acudirá a SO cuando busque la respuesta (como acabo de hacer).
David Arno
3
@DavidArno estuvo de acuerdo, es por eso que estoy aquí hoy, 2015-10-05 ... incluso si aún no hay una especificación finalizada del lenguaje c # 6.0 disponible, en mi humilde opinión debería haber al menos una versión preliminar en línea que sea fácil de localizar. github.com/dotnet/roslyn no es útil ya que se trata más de implementar c # y vb que de la especificación del lenguaje c #. La 4ª edición de la especificación de lenguaje C # estándar ECMA-334 (junio de 2006) está desactualizada. Microsoft, ¡necesitamos esto!
gerryLowry
4
Después de instalar Visual Studio 2015, también me decepcionó bastante descubrir que C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx(donde se 14.0refiere a VS2015) es solo una copia de la antigua especificación C # 5, no una nueva especificación que refleja la "realidad" de VS2015 y C # 6.
Jeppe Stig Nielsen

Respuestas:

33

En el momento de redactar este artículo (mayo de 2016), Microsoft aún no ha terminado de actualizar la especificación para C # 6. Mientras tanto, publiqué el último borrador actual de Microsoft de la especificación C # 6 aquí: https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

Este borrador actual está casi terminado, a excepción de algunos comentarios y comprobaciones pendientes de TODO. (Esta versión se ha convertido a github + markdown, pero también tiene enlaces para descargar las versiones DOCX y PDF de la especificación, y un enlace para descargar la gramática en formato ANTLR).

Para obtener una lista completa de todos los cambios de especificaciones de C # 5 a C # 6, consulte la solicitud de extracción: https://github.com/ljw1004/csharpspec/pull/1/files

(¿Por qué Microsoft aún no ha lanzado oficialmente la especificación C # 6? Debido al trabajo en progreso para alinearse con ECMA, que por supuesto lleva tiempo; parecía una vergüenza gastar esfuerzo en un lanzamiento de la especificación C # 6 ahora solo para que salga una versión posterior de la especificación C # 6 después de la alineación con ECMA).

Lucian Wischik
fuente
¿Alguna idea de dónde puedo encontrar detalles sobre la whenpalabra clave? Solo he encontrado fragmentos y piezas, y se trata más del filtrado de excepciones como un tema general que de los detalles de la palabra clave.
David Pine
32

No hay especificaciones para C # 6.0 al mismo nivel que solía haber para versiones anteriores.

Lo más parecido son las notas de diseño de Roslyn en CodePlex (y avanzando en GitHub).

Aquí hay una lista de las características de C #:

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

Y aquí están las notas para el operador de propagación nula, por ejemplo:

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


Dado que el equipo de diseño del lenguaje se mudó a GitHub, puede continuar siguiendo el filtro Design Notes en el repositorio de Roslyn para ver la existencia de C # 7.0:

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

i3arnon
fuente
2
Gracias, Bar. ¿Tiene una fuente canónica que dice que no se publicará una especificación?
Alex Booker
@Petrichor lamentablemente, no.
i3arnon
1
@ThomasLevesque bueno, este fue diseñado al aire libre con los comentarios de los clientes y hay notas de diseño separadas para cada característica.
i3arnon
3
¿Las especificaciones de @ThomasLevesque aparecerían después de la implementación real? ...
Philippe
1
@AlexBooker Esto me parece una fuente canónica: twitter.com/MadsTorgersen/status/704434833041158145
i3arnon