Alan Kay
What they built
Co-designed Smalltalk at Xerox PARC (with Dan Ingalls, Adele Goldberg, and others), the first thoroughgoing object-oriented, live, graphical programming environment. Conceived the Dynabook (1972) — the blueprint for the personal laptop/tablet. Coined the term "object-oriented programming" around 1966-67. Turing Award 2003. Later founded Viewpoints Research Institute (VPRI) and led the STEPS project (2006–2012).
In their own words
- "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things." — email, 2003, widely reprinted. This is the definition he has repeatedly reclaimed against mainstream "OO".
- "I'm sorry that I long ago coined the term 'objects' for this topic because it gets many people to focus on the lesser idea. The big idea is 'messaging'." — OOPSLA-era writing, 1998. He has called naming it "objects" a mistake that redirected a generation.
- "I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages." — same source. His model was biological and networked, not class-hierarchical.
- On Smalltalk's own evolution, the one thing he said he was proud of was "that it has been so good at getting rid of previous versions of itself" — OOPSLA 1997 talk, "The Computer Revolution Hasn't Happened Yet."
- "The computer revolution hasn't happened yet." — repeatedly, from the 1997 OOPSLA keynote to a 2007 essay with the same title. The point: computing is still imitating paper, text, and TV; the medium's actual native forms are still ahead.
- Squeak, he has said, "is not an attempt to give the world a free Smalltalk, but… a bootstrapping mechanism for something much better than Smalltalk."
Principles as they articulated them
- Real objects are cells that exchange messages, not structs with methods. Inheritance and subclassing were a distraction he regrets.
- Late binding everywhere: the system must be changeable from inside itself, while running.
- Measure a design by how well it lets you discard it. Pride in a system that replaces itself.
- Computing is a new medium, not a faster typewriter. Until software redefines how we think, the revolution hasn't happened.
What surprised me in research
- The STEPS project at VPRI (NSF-funded, 2006) set a target of reproducing a full "personal computing experience" — OS, apps, GUI — in roughly 20,000 lines of code (vs. Linux/Mac-scale hundreds of millions). The final 2012 report reports they got strikingly close with tools like OMeta, Nile, and Gezira. This radical code-reduction agenda is rarely surfaced in summaries of Kay.
- He is unsparing about Simula's influence on later Smalltalks: they "backslid towards Simula and did not replace the extension mechanisms with safer ones."
- On polymorphism: "The term 'polymorphism' was imposed much later (I think by Peter Wegner) and it isn't quite valid, since it really comes from the nomenclature of functions." — he rejects much of the vocabulary the industry attached to his ideas.
Recent or later work
STEPS (VPRI, 2006-2012) produced the most substantive late-career artifact. Since then, Kay has lectured frequently (Waterloo DLS, HPI, CHM) and advised the Croquet/Open Cobalt lineage. He is now in his 80s, still giving talks, still recommending books from Bruner to Postman rather than computer-science texts.
Sources
- http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en — Dr. Alan Kay on the Meaning of "Object-Oriented Programming" — userpage.fu-berlin.de
- http://www.vpri.org/pdf/tr2007008_steps.pdf — STEPS Toward the Reinvention of Programming (VPRI TR) — vpri.org
- https://tinlizzie.org/IA/index.php/Alan_Kay_at_OOPSLA_1997 — OOPSLA 1997 talk transcript — tinlizzie.org
- https://queue.acm.org/detail.cfm?id=1039523 — A Conversation with Alan Kay — queue.acm.org
- https://en.wikipedia.org/wiki/Alan_Kay — Alan Kay — wikipedia.org