AOP use cases
Eric Eide
eeide at cs.utah.edu
Mon Apr 26 11:32:45 EDT 2004
"Will" == Will Stuyvesant <hwlgw at hotmail.com> writes:
Will> One of my original points was that Java needs "AOP" to solve
Will> problems imposed by the static typing system. The links you
Will> provide are Java-centric. A better designed programming
Will> language, like the dynamicall typed language Python, does not
Will> need "AOP". It is up to the software designer to make good
Will> designs, orthogonal where needed, with separation of concerns,
Will> etc.
I think that we disagree about the nature of AOP. Perhaps I should review your
previous posts to see why you think AOP is primarily about working around
"problems imposed by the static typing system." I don't agree with this claim.
To me --- and I think the AOSD literature and community supports this view ---
AOP is about structure and problem decomposition, just like OOP is about these
things. AOP is not primarily about working around technical problems in a base
language, Java or otherwise.
Not all AOP research is done in Java, or even in statically typed languages.
See, for instance, a recent paper about implementing an AOP system in Scheme:
http://www.cs.brown.edu/~sk/Publications/Papers/Published/tk-ptcts-adv-ho-lang/
You claim that Python doesn't need AOP because it is "a better designed
programming language." If you believe that, what about OOP?
Do you think that Python needs OOP? If so, why? I don't mean to start a holy
war, but consider that Scheme does quite well without inherent OOP. Should we
consider Python's support for OOP evidence that Python is defective in some way
with respect to Scheme, and that Scheme is therefore "a better designed
programming language" because it "needs" neither AOP nor OOP?
Thank you for explaining your point of view!
Eric.
--
-------------------------------------------------------------------------------
Eric Eide <eeide at cs.utah.edu> . University of Utah School of Computing
http://www.cs.utah.edu/~eeide/ . +1 (801) 585-5512 voice, +1 (801) 581-5843 FAX
More information about the Python-list
mailing list