Roslyn

Microsoft Roslyn CTP
http://www.microsoft.com/download/en/details.aspx?id=27746

むかし、Subversion が世に出た時に CVS 等との違いとして様々な違いがあげられましたが、

  • Subversion は再利用可能なライブラリである

という項目がありました。Subversion はコンソール用のインタラクティブなプログラムを持っていましたが、あくまでライブラリとしての Subversion に対するフロントエンドの1例であったというものです。
このことは、Subversionリポジトリを操作するためのクライアントの多様性や、リポジトリそのものを直接操作してメンテナンスやミラーリングを行うようなツールの開発を容易かつ高品質に保っただけでなく、リビジョン管理システムとは関係がないアプリケーションでも、自身のデータ管理に Subversion を組み込むことを可能としました。

Roslyn は、(それだけではありませんが)これと同じことを C#VBコンパイラに対して実現しようというものです。
実際のところ、こちらの記事によると、C# 3.0 でクエリ式構文を追加する際にこのような試みは行われていて、Visual Studio 2008 はそのような仕組みをうまく使うようになっているそうです。この時の作業にはいくつもの課題があり、それを解決するためのプロジェクトが Roslyn であったとされています。*1

エンドユーザ向けに見える形での一番の期待は、Office シリーズの VBA に対して C#/VB が乗り込んでくれることかな?*2 ちょっとしたことをするだけならいいんですが、ちょっとしたことで済まないこと……特に Access は……なにかと VBA にひっぱられて苦労するものです。

Power Shell あたりはバックエンドの実装には影響があっても、フロントエンドの仕様にはあまり大きく影響しないと思いますが、makeshell コマンドあたりは大きくかわってコンパイラ相当にばけるかもしれませんね。

*1:C++ native から Managed な世界への変更や、Visual Studio 専用のインターフェースを公開できる形にしたり、C#VB で異なるインターフェースを統一したりする作業があげられています

*2:このことに、Roslyn は必須ではなかったと思いますが、大きく貢献するでしょう