.NET で出来ること、C# で出来ること。

C# .NET の標準となりえるプログラム言語である、といっても過言ではないような言語ではある。
が、.NET で出来ること……IL で表現し CLR で実行できるすべての要素をアクセスできるわけではない。
これは、VB にしても C++ にしても、そして他の多くの言語においても言えることで、それぞれの言語が、それぞれのポリシーを持って、.NET/CLR の機能を実現している。


Microsoft の提供する C#, VB, C++ の3つの言語をみても、C# はインデクサが1つしか作れないとか、FamilyAndAssembly アクセスレベルが作成できるのが C++ だけとか、クラスメンバをスコープにインポートできるのは VB だけとか、結構違っている。
趣味で使う言語はともかく、仕事で VB やれといわれたら VB でやらないといけない立場としては、どれがどうということはないんだけど、やっぱり C#VB のアレがしたいとか、VBC++ のアレがしたいとか、どこでもそこでもチラホラ声があがっている。


とりあえず、そういった声*1を取り入れた無節操な拡張をした C# を作ってみようじゃないか、とか思ったりしたのだけど、どれぐらい勢いでいけるかしら?
C# コンパイラをバックエンドにしてもいいし、プリプロセッサでもいいんだが、作るなら CodeExpression 対応して CodeDOM を生成するぐらいにはしたいな〜。

*1:主に自分の