Gregor Kiczales


Gregor Kiczales is an American computer scientist. He is currently a full time professor of computer science at the University of British Columbia in Vancouver, British Columbia, Canada. He is best known for developing the concept of aspect-oriented programming, and the AspectJ extension to the Java programming language, both of which he designed while working at Xerox PARC. He is also one of the co-authors of the specification for the Common Lisp Object System, and is the author of the book The Art of the Metaobject Protocol, along with Jim Des Rivières and Daniel G. Bobrow.
Most of Kiczales' work throughout the years has been focused on allowing software engineers to create programs that look as much as possible like their design, to reduce complexity and make code maintenance easier, ultimately improving software quality.

Career

After pursuing undergraduate studies at MIT, Kiczales started his research career in 1980 at the MIT Lab for Computer Science, where he stayed until 1983. In 1984, he joined the Xerox Palo Alto Research Center software research lab as Member of Research Staff, becoming Principal Scientist in 1996. Throughout his time at PARC, Kiczales developed some of his most important research works, including aspect-oriented programming and AspectJ. He left PARC in 1999 to focus on computer science education.
In 2000, he moved to Canada and joined the Department of Computer Science at the University of British Columbia as a tenured professor. At UBC, Kiczales started the Software Practices Lab and designed a number of courses related to software engineering and programming languages. Most importantly, he designed CPSC 110, the introductory programming course in the UBC curriculum, which students take in their first year of undergraduate studies. The course focuses on systematic program design by means of design recipes.
In 2002, he co-founded Intentional Software with Charles Simonyi, but then left the company in 2003 in order to return to UBC.
In 2012, he won the Senior AITO Dahl-Nygaard Prize for his work on the Common Lisp Object System, and was named an ACM Fellow for his contributions to aspect-oriented programming.
In July 2017, he was appointed Executive Director of UBC Extended Learning.