A Comparative Analysis of Meta-programming and Aspect-Orientation
Suman Roychoudhury, Jeff Gray, Hui Wu, Jing Zhang, Yuehua Lin · 2003
This paper presents an investigation into language constructs for supporting improved separation of crosscutting concerns. Traditionally, this separation has been performed using metaprogramming and other related techniques. A growing area of research, called aspect-oriented software development, offers a new approach. We describe several distinctive characteristics of the two approaches with respect to their ability to modularize crosscutting concerns. The paper also reports on a survey that was conducted to assess software developers ’ general intuition relating to the comprehensibility of these techniques. Our initial research suggests that aspect-orientation offers several improved capabilities for realizing important software engineering principles. 1.