Roslynプロジェクトに関するCaaS(Compiler As A Service)とは何ですか?Roslyn - コンパイラをサービスとして使用する利点は何ですか
Roslyn機能を使用すると、現在のC#4.0コンパイラよりもC#アプリケーションのパフォーマンスが向上しますか?
Roslyn-CTPの既知の制限事項は何ですか?
Roslynプロジェクトに関するCaaS(Compiler As A Service)とは何ですか?Roslyn - コンパイラをサービスとして使用する利点は何ですか
Roslyn機能を使用すると、現在のC#4.0コンパイラよりもC#アプリケーションのパフォーマンスが向上しますか?
Roslyn-CTPの既知の制限事項は何ですか?
Roslynとの関係で、サービス(CaaS)の意味はどういう意味ですか? a video where Anders Hejlsberg explains thatを見ることができます(Roslynについては、35分で開始します)。基本的に、古いC#コンパイラは「ブラックボックス」です。ソースコードが入ってコンパイルされたアセンブリが出てきます。 Roslynはあなたにそのボックスの中のアクセス権を与えます。つまり、コードに関する構文的および意味的な情報を取得し、変更し、さらに処理するためにコンパイラに戻すことができます。これを使用して、コード解析、リファクタリング、コード生成などを行うことができます。
a long list of features that are not implemented in the current CTP on the Roslyn forumがあります。
パフォーマンスに関して、私はそれがRoslynの目標の1つだとは思わない。さらに、JITコンパイラは、C#/ VBコンパイラよりもパフォーマンスの最適化にとって重要です。 Roslynは、JITコンパイラではなく、C#/ VBコンパイラを置き換えます。
アプリケーションがスクリプトインターフェイスを必要とする場合、Roslynが持つ利点の1つです。 Roslynを使用すると、アプリケーションのソースと同じプログラミングの可能性を持つC#ソースコードとして直接スクリプトをコンパイルし、直接使用することができます。
Roslynに関するサービス(CaaS)というコンパイラは、コンパイル時にコンパイラによって構築された構文モデルと意味モデルを調べるためのパブリックAPIを使用してコンパイルプロセスを断片化していることを意味します。 Roslyn C#とVBコンパイラは、既存のコンパイラを完全に置き換えるので、今日のコンパイラと同じように(テキストファイルを.netアセンブリに変換する別の実行可能ファイルとして)引き続き使用することができます。より深くまたは異なる種類のコード分析を行うツールを構築するのに役立つAPIのライブラリです。
Roslynは、Roslynのリリース時には同じものになるため、既存のコンパイラを使用する場合に比べてパフォーマンス上の利点はありません。しかし、roslynを使用して、ソースコードを改善する特殊なコードリファクタリングを構築することは可能です。
Aspect Oriented Programmingを簡単に実装できるようになるので、私はRoslynに興奮しています。 AOPを使用すると、共通の "ポリシー"を記述して、コード全体に適用するのではなく、コード全体に適用することができます。 Roslynコンパイラを使用すると、コンパイル時にこれらのポリシーをコード全体に織り込むことができ、ビジネスコードの汚染を横断的に懸念することができます。あなたには、いくつかのユースケースをしたい場合は、その使用例
ASTは不変ではありませんか? –
"プロセスのコンパイル"とはどういう意味か分かりません。あなたは正確に何を知りたいですか? – svick
@svickすなわち、CaaSはRoslynに適用され、CaaSには一般的にどのような光が当てられますか。 – VS1
更新された回答を参照してください。 – svick