Related link: http://aspectbench.org
Up until today AspectJ and the
ajc compiler was the only real option for heavyweight aspect-oriented development. What was not so well publicized was that the clever bods at Oxford Universities Computing Laboratory were busy working on a new implementation of the compiler in order to push the bounds of what was currently implemented by the equally smart bods at IBM.
abc is the fruit of these labours but rather than be a unhealthy splintering of the AspectJ community, the release of 1.0.0 of The AspectBench Compiler (ABC) signals a new age of innovation for AspectJ. You see, the guys in Oxford have been working together with the IBM people to provide a compiler where new and and innovative technologies can be tried and tested before incorporation into the full AspectJ Development Environment adding a level of integrity and legitimacy rarely experienced by such a new approach.
This is not to say that abc is in any way a mere alpha test-bed. In fact, the
abc compilers development has led to an excellent amount of feedback into the
ajc in order to improve reliability and quality all round. But
abc does add some facilities that promote innovation above and beyond the more traditional compiler approaches available in
- An extensible frontend based
- An extensible backend based
- An ideal platform for experiments
with new features and optimisations
So there you go. My advice to anyone using AspectJ is to give
abc a try. Not necessarily to replace
ajc and your regular AspectJ development environment, rather to giver yourself a platform to explore new ideas that could be incorporated into future implementations. With
abc, this community finally has a place to actually try new things out and to have the opportunity to have those ideas promoted into real contributions to the evolution of AspectJ - if only other languages had the same opportunity.
What do you think of ABC? Do you know of other languages that would benefit from this from of true open experimentation in their development?