AspectJ has become a widely used de facto standard for AOP by emphasizing simplicity and usability for end users.
It uses Java-like syntax, and included IDE integrations for displaying crosscutting structure since its initial public release in 2001.
These are: AspectJ also supports limited forms of pointcut-based static checking and aspect reuse (by inheritance).
Supporting multiple implementations allows the language to grow as technology changes, and being Java-compatible ensures platform availability.
At this time the AspectJ language was restricted to support a per-class model essential for incremental compilation and load-time weaving.
This made IDE integrations as responsive as their Java counterparts, and it let developers deploy aspects without altering the build process.
This led to increased adoption, as AspectJ became usable for impatient Java programmers and enterprise-level deployments.
Jim Hugunin and Erik Hilsdale (Xerox PARC team members 12 and 13) were the original compiler and weaver engineers, Mik Kersten implemented the IDE integration and started the Eclipse AJDT project with Adrian Colyer and Andrew Clement.
The AspectBench Compiler was developed and is maintained as a joint effort of the Programming Tools Group at the Oxford University Computing Laboratory, the Sable Research Group at McGill University, and the Institute for Basic Research in Computer Science (BRICS).