Also at the conference, Gregor Kiczales, a professor at the University of British Columbia in Vancouver, also known as the father of AOP (aspect-oriented programming), said AOP can be a useful component in SPL development. Kiczales team at Xerox Palo Alto Research Center developed AOP while he worked there in the mid-80s and into the 90s. Kiczales said one goal of AOP is expressivenessto enable code to look like its design.
Guru Jakob Nielsen offers advice on designing applications for usability. Click here to watch the video.
Kiczales said AspectJ, an aspect-oriented extension to the Java programming language from Xerox PARC, is the most widely used AOP technology.
However, AOP is targeted at the more serious programmer because it comes with a learning curve, Kiczales said.
He said although AOP is used across the industry, there are some adoption obstacles to be overcome. One is "low-level tool issues" that are merely "temporary" as the industry is working to address them with better tools support.
Moreover, technologies such as Fluid AOP, a research project Kiczales worked on; HyperJ, a tool that supports multidimensional separation and integration of concerns; and Mylar, a task-focused user interface for the Eclipse platform that makes working with very large workspaces easy, are technologies that can help with AOP adoption, Kiczales said.
Kiczales called Fluid AOP "an editor-based version of AOP," where a developer can pull together all the instances of code in a program where a certain function occurs and edit them all at once.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.
AOP is a method of programming that enables developers to modularize functionality or behavior that cuts across systems, Kiczales said. These behaviors or chunks of functionality are known as crosscutting concerns.