[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