People were bubbling at AOSD after the IBM keynote. It has been quite widely known that quite a few large companies are using AOP, but keep it hush hush. Now the time is coming where it is actually “cool” to differentiate yourself by aligning with the technology, and many companies are seeing how it is helping their lives.
I think it says quite a lot when a company as large as IBM can get a new technology as different as AOP into their large bureacratic departments. They do have the most to gain, but it still a big effort. Adrian’s life is going to get even more crazy in the coming year (Adrian is the lead on AspectJ, and great guy).
Getting developers to think in aspects is no mean task, but we will get there. Gregor uses an interesting story when introducing AOP:
In AspectJ there is an example used which is a GUI figure editor. If you ask today’s developers to think about how they would solve this problem they will probably come up with:
We will need a Point class, a Line, an abstract Shape, etc etc. Basically they are trained to think in objects now.
However if we asked this same question 20 years ago what would those programmers have said? They would have talked about creating a table of X, Y co-ordinates and drawing functions. The idea of thinking in objects would be foreign for them.
This is where we are at now. One of the beautiful aspects of AOP (pun intended) is that a team can use it incrementally…. and in fact this is what the leaders in this space PREACH. Don’t go out and start building a full AOP production project. Start small. Use it to do some analysis (such as IBM doing this to find a bunch of policy breakages in their products). Use it to enforce certain policies. Then strap it into development to enable tracing and exploration of code. By the time that you are here…. you will be familiar with AOP and will be ready to keep moving up the stack slowly. It is very easy to do the wrong thing with AOP, and this incremental approach minimizes this risk as you cut your teeth on non-mission critical areas.
Let’s continue the slow but steady march of AOP!