Episode 11: Interview Gregor Kiczales

Topics covered
Popular Clips
Episode Highlights
Origins
, a pivotal figure in the development of aspect-oriented programming (AOP), shares insights into its historical evolution. He explains how the concept emerged from earlier work on meta-object protocols at Xerox PARC, highlighting the transition from language extensibility and meta-level shifts to a focus on modular crosscutting concerns 1. This shift was crucial in addressing the challenges of creating large, efficient systems, leading to the development of AOP languages like AspectJ that emphasize modularity without the need for meta-level shifts 1.
At the time that we did the metallometry protocol work, we didn't call in modular crosscutting, but we really, I think and this was in the period, sort of in the early nineties, mid nineties, really came to understand that this notion of cross cutting structure and modular cross cutting structure was important.
---
Interceptors
The comparison between AOP and interceptor-based programming reveals both similarities and distinctions. notes that while interceptors offer a coarse-grained approach to handling cross-cutting concerns, AOP provides a more refined and systematic method, particularly through languages like AspectJ 2. This fine-grained control allows for enhanced efficiency and static checking, setting AOP apart from traditional interceptor methods 2. Additionally, AOP's utility spans both fine-grained programming and architectural levels, offering solutions across various domains 3.
It's coarse grain in the sense that with the point cuts of advice of a language like aspect J, you get much more fine grained join point model and the ability to cross cut things at a much more fine grained level.
---
Core Concepts
AOP's core concepts, such as join point models and cross-cutting concerns, are pivotal in enhancing modularity. clarifies misconceptions about cross-cutting concerns, emphasizing their role in modularizing diverse aspects of software systems 4. He argues that AOP techniques, already embedded in modeling tools like UML, can improve modularity at the model level by recognizing and leveraging these cross-cutting concerns 5. This approach allows for more natural integration of AOP into existing software development practices.
The combination of the three diagrams allows you to modularize important kinds of cross cutting concerns at the model level.
---
Related Episodes


Episode 42: Interview Gregor Hohpe
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions

Episode 96: Interview Krzysztof Czarnecki
Answers 383 questions

SE Radio Episode 308: Gregor Hohpe on It Architecture and IT Transformation
Answers 383 questions
Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1
Answers 383 questions

Episode 20: Interview Michael Stal
Answers 383 questions

Episode 48: Interview Dragos Manolescua
Answers 383 questions

Episode 97: Interview Anders Hejlsberg
Answers 383 questions

Episode 32: Service Oriented Architecture, Pt.2a
Answers 383 questions

Episode 38: Interview James Noble
Answers 383 questions
Episode 122: Interview Janos Sztipanovits
Answers 383 questions
Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2
Answers 383 questions

Episode 36: Interview Guy Steele
Answers 383 questions

Episode 39: Interview Steve Vinoski
Answers 383 questions

Episode 80: OSGi with Peter Kriens and BJ Hargrave
Answers 383 questions














