archives

The Power of Interoperability: Why Objects Are Inevitable

Essay by J. Aldrich to appear at onward! Abstract:

Three years ago in this venue, Cook argued that the essence of objects is procedural data abstraction. His observation raises a natural question: if procedural data abstraction is the essence of objects, has it contributed to the empirical success of objects, and if so, how?

This essay attempts to answer that question. It begins by reviewing Cook’s definition and then, following Kay, broadens the scope of inquiry to consider objects that abstract not just data, but higher-level goals. Using examples taken from object-oriented frameworks, I illustrate the unique design leverage that objects provide: the ability to define abstractions that can be extended, and whose extensions are interoperable. The essay argues that the form of interoperable extension supported by objects is essential to modern software: many modern frameworks and ecosystems could not have been built without objects or their equivalent. In this sense, the success of objects was not a coincidence: it was inevitable.

Interesting new paper from T. Sweeney and others

Formalisation of the λא Runtime

This is the formal details paper. The summary/rational paper is apparently due to be published by the ACM next month.