aspect of AOP

Javaと.NETでAOPを扱ってみて共に思うのは「特殊なもの」という感が未だ拭えない事です。
有効性も理解できるし今後はOOと同様に重要なパラダイムの一つになっていくだろうということも予想できるんです。けれど「AOP? なにそれ」とか「コードを編みこむ? 何してるか解らなくなるじゃないの」とか怪しい技術呼ばわりされる可能性が払拭できないのも確かなのです。
やはり最初から言語仕様に組み込まれたり統合開発環境から自動的にソースごと生成できるアイテムだったりしないと一般的にはなりえないのではないかと思うのです。
そういった分野ではJava陣営はAspectJ+Eclipse(AJDT)がある程度の実績を作っており現状では先んじていますね。
一方.NETはというと統合開発環境との連携は無いし.NET FrameworkのドキュメントにもAOPという言葉は殆ど登場しないんですがEssential .NET-共通言語ランタイムの本質(ASIN:4891003685)で書かれているように透過プロキシと実プロキシ、及びCLRによるスタックとメッセージの変換と割り込みはあきらかに.NETプラットホームにAOPを組み込むのに適した技術のように見えます。プロキシを使用したAspectの実装はAspectJのように特別なコンパイラを使用する必要が無いというメリットもあります。
Javaにしろ.NETにしろ次の世代かその次の世代にはクラスを作るのと同様の感覚でAspectを作り、ビルド時にはユーザの知らないところでAspectのウィーブが行なわれているのでしょうね。