Developers curious to know more about aspect-oriented programming (AOP) technology, a form of modular development, turned up for a session at the JavaOne conference.
"There's confusion about what it means," said attendee Simon Jones, consultant at BlackPepper, a Java consultancy in the UK. "I think the key benefit is the modularising of your code," he added.
Panelist Gregor Kiczales, a computer science professor at the University of British Columbia, described AOP as the next step in modularity after object-oriented programming. Developers can capture factors such as policies for security, persistence, and transactions.
"It lets you write them as modular aspects," Kiczales said.
"Modularity is the most important concept in software development," Kiczales said. During the session, Kiczales stressed that AOP is "first and foremost a way of thinking".
While Java is considered the prominent platform for AOP, incorporating the concept more fully into the language will take time, he said.
However, panelists noted there are challenges to AOP.
"There are definitely things I like about AOP, but I would definitely qualify myself as a sort of a conflicted AOP advocate," said Cedric Beust, senior software engineer at BEA Systems.
Another panelist, James Gosling, Sun chief technology officer for the Sun Java Development Platform and Tools team, said he was conflicted about AOP, noting it has promise but also drawbacks. For example, imposing security policies throughout a programme via a transport layer can cause problems, with policies needing to be different dependent upon environment.
Paul Krill writes for Infoworld