As a developer I see [rather forced to see] Compiler as a black box. It takes certain input and gives respective output. If I remember my college days classical definition of compiler was,
“Compiler is system software which converts high level language in machine instructions line by line “
Compilation process follows certain steps,
And as developer [most of us] focus on writing codes in very rigid time to meet certain business requirement. We really don’t bother about black box [Compiler].
In the process of creating executable binary instruction from high level language instructions, compiler generates huge amount of code or information. As of now developers do not have access to those generated information. Due to this restriction compiler appear as a black box.
In Build Microsoft revealed that now no longer compiler would be a black box.
As part of project codename ROSLYN Microsoft is trying to make complier generated information available to developers.
As Anders Hejlsberg said,
“This Project is about to revising what compiler do. This project is about opening the compiler and making all the information available so developer can harness all of this knowledge. He added idea of “Compiler as service “also does not so bad“.
Essentially what ROSLYN would be capable of?
- Creating variables on the fly
- Creating objects on the fly
- Inject instance of dynamic object in static languages
- Converting VB code to c# and vice versa [this was the demo in Build]
- With compilation information available developers would able to do refactor and reorganization of the code better.
- Function written in c# or VB can be used with other languages
- C# and VB would be more dynamic and many more exciting things.
See more about ROSLYN here in below video,
Personally I have only this information available about ROSLYN and I am looking very forward and exciting to see more on this. I hope we will have COMPILER as Service in VS 2012. I end with saying still I am not very much clear how ROSLYN will be given to developer as service and if given then the pay model.
If with ROSLYN compilation as service is near then I wonder debugging as service is also not that far
If you find my blogs useful you may like to follow me on twitter http://twitter.com/debug_mode or may like Facebook page of my blog http://www.facebook.com/DebugMode.Net If you want to see post on a particular topic please do write on FB page or tweet me about that, I would love to help you.Follow @debug_mode