[aosd-discuss] "AOP considered harmful"

Eric Tanter etanter at emn.fr
Mon Apr 25 13:40:26 EST 2005


Thank you Ron, very interesting reply.

I completely agree that the best thing among all is a good design and 
that AOP allows for cleaner designs. And that to understand any complex 
application, you also need good tools.  I also agree that the 
"special-case obscure artefacts" are no solutions neither.

But still, this mailing list is _discuss_ at aosd.net (notice the 
emphasize on 'discuss'), and it seems to me a bit exagerated to 
insinuate that AOP -as it is formulated today- has no problem, and that 
we shouldn't questions ourselves.

Powerful stuff like multiple inheritance has been withdrawn from some 
major mainstream languages because its complexity and excessive power 
was too much compared to its benefits. It may be good to think about 
ways for this not to happen with AOP.

The work of Aldrich on specifying contracts for aspects is a good 
example in this direction. It's less powerful that "plain AOP" because 
you need to anticipate the 'aspect contract', but that brings much more 
confidence in what happens when applying aspects. Also, in their EAOP 
proposal, Douence, Sudholt et al. only consider aspects that _add_ some 
behavior. They exclude 'around' because "then you cannot say anything 
about what will happen". And I imagine there are other proposals around 
that target a  more restricted AOP.
I'm not saying these proposals are the definitive and good solution to 
the problems they identify, just that these problems do exist, and are 
worth discussing (and so, especially on this list ;)).

-- Eric




More information about the discuss mailing list