This (short) thinking process started when commenting on Cedric post: AOP Still Not There.
The first think I have in mind about this is: it is here, it is enabled to be here, but we are afraid of using it :-). Involving a new technology in your solutions is not an easy process, it must pass through different steps of beaurocracy, it must survive unaware critics, it must survive your real scenario. Moreover it must offer you a better solution. And I guess this is the criteria where AOP may fail :-(. I don’t want to be missunderstood! AOP will not fail the “better solution” criteria just because it is not best suited for solving a range field of problems, but because the war of acceptance takes place on wrong dimension. The tech guys fight this battle against the marketing, financial and management guys. It’s like saying let the tech guy sell some stuff. While they will be (maybe) able to present it from a technical point of view in the brightest colors and they may underline a full set of benefits, the other army has a way to large strategy/tactics to contra-atack. A short version of this fight would look like
Tech Guy: – Hey, I have analysed this problem and I consider that the benefits of adopting this solution will be outrageous. I do not count here the fact that the code will become clearer and more maintanable, but I see some oportunities in here to solve those damn issues we are facing for some time.
Others: – Hmmm…, ya, you are right. But how well do we know this stuff? Who are the supporters of this? (is there any giant company supporting this?)
Tech Guys: You know there are in fact some big supporters of it…
Others: Oke… let’s see. Why isn’t X offering a commercial solution for this? Why isn’t offering Y an integrated solution?
Tech Guys: (???)
Others: Oke… where shall we have to look for support? Any company offering trainings?
Tech Guys: The creators are doing a lot of good job, they organize all the time conferences, and presentations. Not to count some forums (…. on the other side: silent yakkkk) where they publish their knowledge
Others: Does our IDE support it?
Tech Guys: You know, there is some work to support this in [product] and they improve it all the time…
Others: we cannot shift all the dev guys to that product
Tech Guys: not all of us must use it, just those involved into this kind of tasks.
Others: Oke… do we have to buy some books on it? Are there any published?
Tech Guys: oh yes, it should be nice to have some, but in fact we can count them on one-hand fingers. But you know they are in fact really good and they help you a lot…
Others: … so we don’t have a real support for this. How it is supposed to solve some problems that may occur?
[… the discussion continues…. after some time]
Others: you know, shifting all of our dev line to this is not affordable to us. High risks are involved, and the support sucks. We cannot encourage you to go to niche solutions.
Tech Guys: … but it is not…
Others: Come back when you are able to show me a real solution. Thank you!
Concluding, I think that if we, the tech guys, are not able to adopt a solution or at least encourage it (finding best scenarios, telling the truth), the “others” will not jump to it. Passing around a full circle of fears, will not solve our problems and will not help good technologies to become big ones (large adopted).