2009-03-10 21 views

Respuesta

35

Sí, pero hay planes para escribir un compilador C# en C#, que creo que fue discutido en this podcast.

+2

Hm, en la superficie suena tonto, algo así como hacer comida para perros con comida para perros. Estoy seguro de que tiene mérito, sin embargo. –

+0

Entonces, ¿qué se usaría para compilar el compilador escrito en C#? ¡Habla de recursión! –

+16

@Josh: la versión anterior del compilador. Es iterativo, no recursivo. No están utilizando la misma versión del compilador para compilarse. Más bien, implementan la próxima versión del compilador utilizando la versión anterior. –

22

Sí.

El compilador de Mono C# está escrito en C#.

+6

¿El compilador que compila el compilador mono C# también está escrito en C#? –

8

Sí, fue - como la mayoría de CLR. Si desea ver el funcionamiento interno de CLR y/o compiladores no te recomiendo Código Compartido CLI de Microsoft (también conocido como rotor):

Pero, en realidad hay un compilador escrito en C#. Creo que Mono está escrito de esa manera. Descargue Mono sources y descubra por usted mismo.

18

El marco .NET fue escrito en simple de C (SMC)

Historia

Durante el desarrollo de .NET Framework, las bibliotecas de clases fueron escritos originalmente usando un compilador de código administrado sistema llamado Simple Managed C (SMC). En enero de 1999, Anders Hejlsberg formó un equipo para construir un nuevo lenguaje en ese momento llamado Cool, que significaba "lenguaje orientado a objetos tipo C". [16] Microsoft había considerado mantener el nombre "Cool" como el nombre final del idioma, pero optó por no hacerlo por razones de marca comercial. Para cuando el proyecto .NET fue anunciado públicamente en la Conferencia de Desarrolladores Profesionales de julio de 2000, el lenguaje había sido renombrado C#, y las bibliotecas de clase y el tiempo de ejecución de ASP.NET habían sido portados a C#.

Desde: http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29

+0

Esto responde una pregunta, pero no la pregunta del OP. – ProfK

9

Hay un nuevo (a partir de finales de 2011) C# y VB compilador escrito por Microsoft llamados Roslyn que está escrito en C# y VB.NET, respectivamente. La página del proyecto es here. El compilador de Roslyn está escrito como una biblioteca que expone una API pública abundante. Hay un artículo de noticias here al respecto de InfoWorld.

ACTUALIZACIÓN: A partir del 3 de abril de 2014, Roslyn es de código abierto bajo Apache License 2.0.