Thursday, October 20, 2011

Roslyn arrives

Albeit in CTP form, Roslyn, the new Microsoft "Compiler As A Service" (CAAS) system is the first step towards the realisation of ideas from the tantalising talk that Anders Hjelsberg gave at PDC in 2008. This video is of Anders' talk on the future of C#. The video is one hour and ten minutes long and just the very last ten minutes (time code 58 minutes) talks of using the compiler as a service to dynamically generate executable assemblies at runtime using the compiler as a dynamic tool.

As you know, the process of developing code can be a laborious one with iterations which require constant feedback. You also probably know that code generation isn't new and has been with us for some time but until now, the possibility of an automated, iterative and self adjusting system of code generation has been almost impossible.

For a long time, dynamic code generation and even the principle of self modifying code has been a very touchy subject amongst programmers. To some it is complete anathema while to others it has been an excruciatingly difficult yet necessary task with tools that were not well suited to the job.

Roslyn aims to bring the techniques of automated code generation into the mainstream by providing a set of services that enable that develop and feedback cycle to become part of the running application process.

The first public iteration of Roslyn is available now from the CTP servers. It runs on Visual Studio 2010 and the length of time taken to bring this to the CTP stage, almost three years after the talk Anders gave in 2008 is a testament to the difficulty of getting this right.

1 comment:

Fabrice Marguerie said...

Anders demonstrated Roslyn in a new video from Microsoft Build (last month).