Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Philosophical Questions

Title: RE: [aspectj-users] Philosophical Questions
 

I see this as both a step forward and a step back. On one hand you have one of the first large collections of reusable aspects to choose from, but on the other hand the message is that aspects are probably beyond the average developer. This issue of complexity just keeps coming back again and again whenever AOP gets mentioned. 

I feel the above point is quite crucial. Indeed, there is often a general feeling that aspects are beyond the average developers just like reflection became (and largely remains) the tool of advanced developers. I feel that this "myth", that surrounds all new software development techniques, is a critical bottleneck in the adoption of AOP (and AspectJ) too. I fully agree with Ron that developing reusable libraries of aspects is critical (we should maintain an up to date repository as Merrick suggested). However, at the same time, it is important to help the developers think in an aspect-oriented fashion. Before the days of OO, developers mainly used to think one-dimensional i.e. procedural. OO introduced more of a two-dimensional thinking. Aspects introduce a third dimension to this thinking. Those who went from doing procedural programming to OOP have some experience of such a transition. But the significant body of first generation OO programmers do not. I am not suggesting that everyone finds it hard to transition to a different, improved way of looking at the concerns in a system. However, most people are likely to find it difficult to alter a mindset they have used for several years. Does this mean AOP is not for the average developer? Certainly not. AOP, especially AspectJ, is very intuitive once you are willing to think out of the conventional OO decomposition. At Lancaster, our undergraduate students (with moderate Java programming skills) get up to speed with AspectJ in about two weeks. However, it takes a while before they fully start to consider the decomposition in their systems in an aspect-oriented way.

Awais.

 


Back to the top