El compilador como servicio

Publicado 21/10/2011 19:16 por Rafael Ontivero

Me he quedado poco menos que estupefacto con esta entrada del blog de SomaSegar. Y no, no penséis mal, que no es malo.

Básicamente viene a decirnos que está disponible la CTP de “Roslyn”, que según entiendo es una extensión -de momento- a Visual Studio 2010 SP1. De hecho nos la podemos bajar y jugar con ella.

Comienza diciendo que los compiladores se han venido haciendo en C++ nativo, pero que ya es hora de cambiar y que han rehecho los compiladores de C# y de Visual Basic desde cero en… Visual Basic.

Hay que joderse. La primera en la boca. ¿Pero no decían que el compilador y el propio .NET estaban hechos en C# (lo siento, no encuentro la referencia)? Ahora no, ahora resulta que C# está escrito en C++.

Y la segunda, también: C# está hecho en Visual Basic.

O están tontos, o yo no me entero, o mienten más que hablan. Para nada me extraña de que hubieran mentido en lo de hacer C# en C++, de hecho es lo lógico y coherente, ¡pero construirlo todo en VB?

De todos modos dejemos esto aquí, corramos un estúpido velo, y centrémonos en el meollo del artículo: compilador como servicio.

Es decir, en Visual Studio 11 los compiladores de C# y VB no serán ejecutables, sino servicios expuestos al público (espero que haya uno para invocarlo desde la línea de comandos), de modo que cualquiera podrá compilar.

No solo eso, sino que dejarán de ser una caja negra que, a partir de un código fuente, genera una salida compilada, sino que podremos acceder a los diferentes estados del proceso de compilación, e incluso podremos realizar solo unos pasos, como análisis semántico o la obtención del código IL (ensamblador del .NET).

Eso posibilita la creación de scripts en una consola interactiva. ¿Recuerdan la consola aquella que tenía el Visual FoxPro que permitía ir encadenando comandos como si programáramos? Pues lo mismo, pero en VB y en C#. Vamos, que reinventan la rueda.

En la entrada original hay un par de imágenes enseñando lo que puede hacer.

 

Archivado en: ,,
Comparte este post:

Comentarios

# re: El compilador como servicio

Friday, October 21, 2011 8:49 PM by El Bruno

Pues sin entrar en el chiste fácil, lo que me parece genial de este modelo de servicio, es poder sacar la capacidad de compilación a entornos dedicados a esto. CloudBuild? no lo veo descabellado, pero en escenarios más tontos pues codifico en una tableta y compilo... pues ve tu a saber donde :D

Salu2

# re: El compilador como servicio

Saturday, October 22, 2011 12:36 AM by Ramón Sola

Rafiki, por favor, lee con atención. ;)

Soma: "in Roslyn we’ve rewritten the compilers from the ground up, implementing the C# compiler in C# and the Visual Basic compiler in Visual Basic". Cada compilador en su propio lenguaje, no ambos en VB.

# re: El compilador como servicio

Monday, October 24, 2011 11:51 AM by Kiquenet

Entiedo que C++ nativo es más óptimo para el rendimiento (los móviles por ejemplo, tienen realmente c++ nativo creo), no?

No sé que pasará en esas cuestiones en rendimiento si se hace con VB o C#...

saludos

# re: El compilador como servicio

Monday, October 24, 2011 12:48 PM by Eduard Tomàs i Avellana

@Bruno

CloudBuild... volvemos a los tiempos de COBOL, hosts y tarjetas perforadas!!! :P

Me ha hecho gracia tu comentario porque fue lo primero que se me vino a la cabeza (sin duda, creo que estamos demasiado "cloudizados"). Aunque creo que quien mejor se puede beneficiar de esto son herramientas tipo Resharper...

Saludos!