Q & A for ACM Tech Talk

Florian W asks: Really exciting topic! Thank you. I wonder what are the differences and similarities of the paradigm of “concepts” and “aspect-oriented programming”? (or are there none?)

Thank you for your kind comments.

This could make an interesting research project! Concepts usually embody what AOP calls “cross cutting” behavior, and you can think of the concept composition mechanism as similar to the mechanisms (such as join points) that AOP uses. Perhaps one key difference is that in AOP you typically have a base system and then a collection of aspects; in a concept-oriented system it’s all concepts. So the concept approach is akin to designing a system as a collection of free-standing aspects that then get joined together. Also not sure if AOP emphasizes the opportunity to reuse aspects across systems?