Gregor Kiczales is famous for aspect-oriented programming, but decided to not speak about that at this conference. The talk covered the ideas of informal systems and formal systems.
Context plays a large role in our perspective on the world around us — people see things differently depending on background, role, task at hand and many other variables. How do different contexts affect developer perspectives on software? What different ways do developers want to see a program? What different ways do they want to work with a program? How does a program mean different things to different people? How does context influence perspective? How do different contexts and perspectives interact? Can these interactions be reified, controlled and parameterized?
A broad range of work has explored these questions, but many issues remain open. We lack a general understanding of the concepts and mechanisms that can support the changes in perspective we need. We lack the ability to handle context and perspective systematically, easily and reliably throughout software development. Work is needed in a number of areas, from conceptual foundations to theory, languages, tools and methods. A truly satisfying handle on these issues may even require a material expansion of the foundations of computation — or at the very least the foundations of programming languages.