Para quem ainda não conhece, Microsoft “Roslyn” demonstra a próxima geração de modelos de objeto de linguagem, para geração de código, análise e refactoring, e terá suporte para scripting e interatividade com C# e VB.NET.
A proposta inicial é bem interessante, segue o disclaimer em inglês:
Traditionally, compilers are black boxes – source code goes in one end and object files or assemblies come out the other end. The Roslyn project changes that model by opening up the Visual Basic and C# compilers as APIs. These APIs allow tools and end-users to share in the wealth of information the compilers have about code. The Roslyn CTP previews the next generation of language object models for code generation, analysis, and refactoring, and the upcoming support for scripting and interactive use of VB and C#.
A proposta do projeto é extremamente interessante e podemos em um futuro não muito distante fazer muito mais, e prover significativas soluções para aplicações ou mesmo para ambientes corporativos.
A abordagem trazida pelo Roslyn faz com que possamos criar padrões de arquitetura em níveis muito mais baixos, abordando a construção de novas sintaxes em baixo nível, lado-a-lado com o compilador. As possibilidades são infinitas. Enfim, é um assunto extremamente excitante, pois podemos pensar em metaprogramação de uma forma que nunca vislumbramos até então.
Imagine que você, possa escrever validações de arquitetura, que interagem diretamente com o compilador, ou ainda, que você escreva sentenças como o await/async que proporcionam geração de código automática durante o build. Estamos cada vez mais próximos de poder realizar essas tarefas de forma realmente simples!!
Abaixo temos uma lista de links para o Roslyn e seus diversos itens de documentação. Foram tirados da página.
Lista de Links
Whitepaper: Roslyn Project Overview
Get an overview of how the Roslyn project exposes the Visual Basic and C# compilers’ code analysis. |
|
Roslyn Project Overview Download
Download the Roslyn Project Overview. |
|
Walkthrough: Getting Started with Syntax Analysis – C#
Follow step-by-step instructions for navigating and analyzing syntax trees in both Visual Basic and C#. |
|
Walkthrough: Getting Started with Semantic Analysis – C#
Follow step-by-step instructions to do semantic analysis in both Visual Basic and C#. |
|
Walkthrough: Getting Started with Syntax Transformations – C#
Follow step-by-step instructions to transform syntax trees using both syntax and semantic analysis in Visual Basic and C#. |
|
Walkthrough: Getting Started with Workspaces – C#
Follow step-by-step instructions for using Roslyn with Visual Studio Solutions, Projects, and Documents. |
|
Walkthrough: How To Write a Quick Fix – C#
Follow step-by-step instructions for creating a custom code issue that is surfaced through the IDE and an automatic fix to correct it in both Visual Basic and C#. |
|
Walkthrough: Executing Code in the Interactive Window – C#
Follow step-by-step instructions for getting started using the Interactive window to explore code snippets and their behaviors. Only the C# Interactive window is available at this time. |
|
Walkthrough: Seeding the Interactive Window from a WPF Project – C#
Follow step-by-step instructions for using a WPF project to load context into the Interactive window. |
|
Walkthrough: Introduction to Scripting – C#
Follow step-by-step introductions to the basics of the Scripting APIs and using the host execution engine in your .NET applications. |
|
Walkthrough: Scripting a Paint-like Application – C#
Follow step-by-step instructions for enabling scriping in a fictitious Paint-like application and executing scripts in a custom execution context. |
Scripting
Uma das capacidades que acho incrível nesse projeto é Scripting. Sempre gostei da idéia de usar scripting em aplicações comerciais, no entanto as soluções nunca me pareceram efetivamente interessantes, pelo menos não tão interessantes como o Roslyn se tem mostrado.
Abaixo temos alguns links para especificações de Scripting do Roslyn:
- released-interactive-repl-spec2.pdf
- released-interactive-scripting-spec.pdf — describes more closely what is in CTP2
- released-interactive-scripting-spec2.pdf — updated designs of what we’re working on beyond CTP2
Espero que tenham gostado!
0 comentários