アンダースからの返答

C#への期待。アンダースからの返答 [@IT Insider.NET]

MDC2006には行けなかったのだが、Anders Hejlsberg氏の公演だけは聞きたかった。しかし、特定のコミュニティに対して更にスペシャルセッションを設けていたとは驚いた。まあ、お蔭で要約が読める訳だが。

記事中から引用させて頂くが、

AOPについては、個人的には懐疑的に思っている。確かにデバッギングやモニタリング、パフォーマンス測定などではAOPは役立つだろう。しかし大企業が使うような十分に統制のとれてなければならない大規模アプリケーションを実装するような場面ではAOPは少し心配なところがある。
[記事中の「アスペクト指向プログラミング機能を提供する予定はあるか?」の問いに対しての解答より引用]

この辺が非常に氏らしい。AOPの導入に対しての質問をされて、大規模アプリケーションで適用することに対する懸念を筆頭に答える言語設計者は彼だけではないだろうか。非常に現実的な見識だと思う。

AOPで実施する処理の注入の手法は現時点で可能な技術により、大きく二つに分類できる。

  • コードの命令呼び出しの前後をインターセプトして、アドバイスを割り込ませる方式
  • コード自身を書換えて、アドバイスを任意のポイントにウィーブ(編み込む)する方式

どちらも、特に後者はテストが完了して動作が検証されたコードを変えることになるのは、確かにそうであり、動的にAOPが適用できる環境では簡単にコードの改竄が可能になるのは否定できない。しかし、AOP(な考えかた)のメリットは氏も認識している訳で、デメリットを技術的に解決したAOP(氏はそれをAOPとは呼ばないかもしれない)が出てくるのだろう。