Standards Committees are a Really Bad Place to do Research Purgatorius: A friend’s new online rag
May 01

AOP Kata: Listen to the AOP Mentors. Shut up for a sec… and listen :)

AOP, Tech Add comments

It is so interesting to watch up we take input, and somewhere in the process it gets munged up in the brain.

I do this all the time. When I look at something I just typed, such as a piece of code, I don’t see what I typed at all. Nope. I see what I thought, wanted, and should have typed.

I was talking to another kind soul today about AOP. I happen to be a fan, an advocate, or whatever you want to call it. Does this mean that I believe that if we all start to use AOP that software will suddenly become simple? Suddenly we will not make anymore mistakes in our design? Of course not. This is just a tool folks. A tool that can help with the complexity of cross cutting concerns.

How many cross concerns are out there? A bunch… Is everything a cross cutting concern? Not even close.

I was told that the AOP guys are touting that it is the best thing since sliced bread, that it is a saviour, and that this is going to bring on a nightmare as people abuse it. I asked the fellow to show me ONE example of a thought leader (using the term just to piss of Hani) in the AOP space saying this. Of course he couldn’t. The real thought leaders rarely do!

AOP is a great tool, but just like we have learned to favour compositionin OO, we should favour OO interfaces compared to AO. What does this really mean? It means… when you start…. REALLY think about if it makes sense to use AO. Don’t just run into it…. think really hard, what are the implications? Write some test first code that has a few use cases to make sure it still makes sense.

So, listen to the AOP mentors (of which I am not one by the way!), not the people who jump on the bandwagon!

Of course, my little blog entry won’t stop anything.

As Mike Spille wrote:

When a novel technology just starts to come into common practice, there seems to inevitably be a cycle that has been repeated from time immemorial:

  • Early adopters experimenting all over the map
  • Said early adopters writing optimistic and enthusiastic articles about it
  • “The masses” start to adopt based on the early adopter’s enthusiasm
  • Early results are good, because people always start small and they benefit from the “low hanging fruit”.
  • Over time, usage grows, complexity in usage grows, people start to see the downsides
  • As more time goes by, people will write books like “Bitter AOP” and “Pragmatic AOP” and “AOP Sucks – The Case for Procedural Programming” :-)
  • A few people will note that the gist of these books are issues that were obvious early on to the early adopters, but were suppressed and/or ignored due to undue enthusiasm or an unconscious need to suppress negative comments

Now I would temper one thing said. Said early adopters writing optimistic and enthusiastic articles about it. We have to listen to the folk who are really using it versus any ole early adopter.

I hope the mistakes are tamed a little this time around, and we don’t all start writing everything as an aspect.

Obviously it depends on your project, your thoughts on AO etc… however some have said that:

90% of code will be handled via OO. 10% of it can be more cleanly designed with aspects

NOTE: Again, just to make sure… when I talk about the AOP mentors I am thinking along the lines of these guys

4 Responses to “AOP Kata: Listen to the AOP Mentors. Shut up for a sec… and listen :)”

  1. Dion Says:

    Nice Carlos :)

    I think that the 10% makes the 90% a hell of a lot cleaner and elegant :)

    So, as you said… even a small percentage in LOC or whatever… is a lot of functionality.

    Dion

  2. Vinny Carpenter Says:

    Hi Dion and great blog entry. Having started playing with AOP seriously in the last month or so and I have to completely agree with you. I love Mike’s comment about AOP or any new technology – I think Bruce Tate is already working on a Bitter AOP book. :)

    It was really refreshing to spend a few hours with Ramnivas Laddad, the author of AspectJ in Action to get his perspective on AOP and how it will change the development landscape. I walked away with the same impression – 90% of code will be handled via OO while AOP will tackle the other 10%.

    –vinny

  3. Mike Spille Says:

    I don’t recall if I said it or not in my TSS post on this subject, but Gregor and the rest of the AspectJ team deserve a great deal of credit for presenting this technology in a very balanced manner. Historically they’ve made a huge difference in keeping discussions on AOP grounded and not pie-in-the-sky, and that’s gone a long way towards avoiding the hysteria that other technologies have seen in their early years.

    As you said Dion, in this space at least the _real_ mentors are doing a great job of keeping it real. But it’s not always easy to distinguish the true mentors from the pretenders – especially since the pretenders can be much louder and flashier.

  4. free ringtones Says:

    Hi, very interesting site. I really like it.
    http://newestringtones.awardspace.com/cell_free_phone_ringtone_unlimited/ cell free phone ringtone unlimited http://newestringtones.awardspace.com/cell_christian_phone_ringtone/ cell christian phone ringtone http://newestringtones.awardspace.com/absolutely_cell_free_phone_ringtone/ absolutely cell free phone ringtone http://newestringtones.awardspace.com/cell_phone_ringtone_sanford_son/ cell phone ringtone sanford son http://newestringtones.awardspace.com/cell_free_phone_ringtone_verizon_wallpaper/ cell free phone ringtone verizon wallpaper http://newestringtones.awardspace.com/bell_cell_free_phone_ringtone/ bell cell free phone ringtone http://newestringtones.awardspace.com/cell_pcs_phone_ringtone_sprint/ cell pcs phone ringtone sprint http://newestringtones.awardspace.com/cell_christian_free_phone_ringtone/ cell christian free phone ringtone http://newestringtones.awardspace.com/cell_free_phone_ringtone_totally/ cell free phone ringtone totally http://newestringtones.awardspace.com/cell_downloading_phone_ringtone/ cell downloading phone ringtone http://newestringtones.awardspace.com/cell_free_phone_ringtone_samsung_sprint/ cell free phone ringtone samsung sprint http://newestringtones.awardspace.com/cell_get_phone_ringtone/ cell get phone ringtone http://newestringtones.awardspace.com/cell_music_phone_real_ringtone/ cell music phone real ringtone http://newestringtones.awardspace.com/cell_free_lg_phone_ringtone_verizon/ cell free lg phone ringtone verizon http://newestringtones.awardspace.com/free_ringtones/ free ringtones http://newestringtones.awardspace.com/ringtones/ ringtones http://newestringtones.awardspace.com/free_nokia_ringtones/ free nokia ringtones http://newestringtones.awardspace.com/tv_ringtones/ tv ringtones http://newestringtones.awardspace.com/download_free_ringtones/ download free ringtones http://newestringtones.awardspace.com/nokia_ringtones/ nokia ringtones

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: Type in the word 'ajax'