Ehsan Ghanbari

Experience, DotNet, Solutions

Roslyn, What's all the fuss about?

To be frank I heard about Roslyn a few days ago. if you watch this presentation by Andres Hejlsberg, you will also find out that It's going to be a big jump in the .NET platform. Roslyn is a project that extends the capability of the compiler by giving the developers to access them.  access to the compiler means that the developer can easily extend it and optimize some parts of the process by being able to directly interact with code that is being manipulated. It provides a set of API for extending the C# and visual basic compilers as a service. (F# is not included in Roslyn project)

Roslyn includes versions of C# and VB compilers written in the language themselves. It exposes modules for syntactic analysis of code, semantic analysis. Roslyn provides easy access to the information it gathers during the different stages of the compilation process. If you take a look at Andres's presentation you will see that language services are task parallel library and multi-threading when calling the compiler API.

Roslyn provides you to create your own scripting sessions, using C# and VB.NET. It also other possibilities, you can write your own code analysis and manipulation tools around the Visual Studio to enable visual studio enhancement. Notice that because of fully rewrite the compiler by C# and VB you will be able to do all of this by C# or VB. Roslyn is not all about bringing the new feature to C# and visual basic just like other series, it is much more than that. Both compiler and the language of the compiler will be available.  using C# and VB.NET as scripting languages, use a compiler as a service in your own applications for code related tasks, develop better language and IDE extensions, etc.



More information:


About Me

Ehsan Ghanbari

Hi! my name is Ehsan. I'm a developer, passionate technologist, and fan of clean code. I'm interested in enterprise and large-scale applications architecture and design patterns and I'm spending a lot of my time on architecture subject. Since 2008, I've been as a developer for companies and organizations and I've been focusing on Microsoft ecosystem all the time. During the&nb Read More

Post Tags
Pending Blog Posts
Strategic design
Factory Pattern
time out pattern in ajax
Selectors in Jquery
Peridic pattern
How to query over Icollection<> of a type with linq
How to use PagedList In MVC
Domain driven design VS model driven architecture
What's the DDD-lite?
Using Generic type for type casting in F#