Dr. Alan Kay on the meaning of "object-oriented programming"
8 hours ago
- #Object-Oriented Programming
- #Messaging
- #Alan Kay
- Alan Kay coined the term 'object-oriented programming' around 1967, inspired by biological cells, computers on a network, and ideas from Sketchpad, Simula, and the ARPAnet.
- Kay's original conception emphasized messaging from the start, eliminating data by treating it as just another message token, and allowing objects to have multiple algebras (genericity), while initially omitting inheritance.
- He defines OOP as 'messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things,' contrasting it with abstract data types and the data-procedure paradigm that became more popular.
- Kay notes that Simula catalyzed two paths: his bio/net non-data-procedure route and the abstract data types approach, with the latter gaining more traction in computer science.
- The takeaway is that Kay's vision centers on message-passing between autonomous entities, not on inheritance or encapsulation as ends in themselves, which he sees as limiting compared to the original cell-like model.