Announcing the formal release of ABC, a new kind of AspectJ

by Russell Miles

Related link:

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 ajc:

  • An extensible frontend based
    on Polyglot

  • An extensible backend based
    on Soot

  • 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?


2004-10-24 03:50:06
abc - a joint effort (Oxford, McGill, Aarhus)
Thanks very much to Russ for his article about abc. I would just like to point out that abc is in fact a joint effort between members of the Programming Tools Group at Oxford University, the Sable Research Group at McGill University and a member of the team from BRICS, University of Aarhus. We have all had a lot of fun building abc and are eager to hear from users.