Another blogger, who will remain unmentionable, is upset that some of the guys at JBoss are beginning to throw the term
AO around. According to him, the AOP community is just terribly attached to their P, and quite concerned that JBoss might be about to dominate the world with their P-less aspects.
Strangely, this blogger, along with every Java developer I know, is quite comfortable with the term
OO. So, here's how we see it: Object Orientation (OO) is an approach to understanding and modelling a certain class of problems; Object Oriented Programming (OOP) is the act of writing code in an object oriented language like Java. Likewise, AO is a way of thinking about a (different) class of problems, while AOP is the mechanical act of actually implementing aspects in an aspect oriented language like AspectJ.
I fully expect that at some stage someone will want to start talking about AOD (Aspect Oriented Design) and AOA (Aspect Oriented Analysis), just as some people talk about OOD and OOA today. But I don't want JBoss to be held responsible when that happens!
It seems quite undeniable that aspect orientation is a useful way for middleware and framework developers to think about the cross-cutting problems we often meet. Whether /application developers/ will ever need to switch from Java to an aspect oriented language, in order to implement their own aspects, is unclear. (Only time will tell.) I guess we are trying to say that /aspect orientation/ is useful, even if application developers never end up using AOP day-to-day.