AOP is getting more and more air time. There is an interesting thread that has sparked out of Bill Burkes Tech Talk on TheServerSide. Although it does tend to get a little personal (although hidden behind ;) and :)), it is good to read. I personally have bought more into the Gregor way of looking at AOP. It isn’t just interception :) I can understand Bill’s point, where he says that he starts off by talking about that with developers as they can “get it”, but they really do need to note that this is exactly what is being done.

Coming from the world of science, I totally get the idea of being told “this is the way it is”, and then a year later being told “you thought it was like that, now you can learn the way it really is”, and then the next year …

However, it has come across from some of the JBoss guys more like “no, AOP == Interception, don’t look further”. This is just wrong. People can delve into the world of AOP via JBossAOP and just use the semantics that they have available to them, that is fine. One of the things that I love about AOP is the fact that people can incrementally get into the technology.

Cameron called AOP “Already Over Promised”. This is something that the AOP guys are constantly fighting against. Gregor et al are NOT saying: “Use AOP everywhere, it is a silver bullet”. That is far from the truth. We are still learning where it makes sense to use AOP, and where it makes sense NOT to use it, and keep to OOP. AOP complements OOP, and should be used together. Where you find cross cutting concerns that you can represent cleaner in AOP, go for it. Hell, if you just want to play with it and use it in dev, but not production, knock yourself out. I would bet that in time, people will be joining the train at different stages, just like we saw with OOP.

As Ron mentioned, right now AOPs “killer app” seems to be middleware (like OOPs was UI), but as we learn and improve, we will start to see cross cutting concerns all over the business design.