Beyond AOP: Toward naturalistic programming

Cristina Videira Lopes, Paul Dourish, David Lorenz, Karl Lieberherr

Research output: Contribution to journalArticlepeer-review


Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of "high-level" programming paradigms and object-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and systems have fallen prey to the assumption that they are supposed to capture idealized models of computation inspired by deceptively simple metaphors such as objects and mathematical functions. Aspect-oriented programming languages have made a significant breakthrough by noticing that, in many situations, humans think and describe in crosscutting terms. In this paper we suggest that the next breakthrough would require looking even closer to the way humans have been thinking and describing complex systems for thousand of years using natural languages. While natural languages themselves are not appropriate for programming, they contain a number of elements that make descriptions concise, effective and understandable. In particular, natural languages referentiality is a key factor in supporting powerful program organizations that can be easier understood by humans.

Original languageEnglish
Pages (from-to)34-43
Number of pages10
JournalACM SIGPLAN Notices
Issue number12
StatePublished - 2003
Externally publishedYes
Event18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA'03 - Anaheim, CA, United States
Duration: 26 Oct 200330 Oct 2003


  • Aspect-Oriented Programming
  • Cognitive Foundations of Programming
  • Language design
  • Natural Language


Dive into the research topics of 'Beyond AOP: Toward naturalistic programming'. Together they form a unique fingerprint.

Cite this