Alan Kay on the meaning of "object-oriented programming" (2003)

OOP’s ‘true meaning’ drops and the comments instantly split into rival fan clubs

TLDR: Alan Kay says the original idea behind object-oriented programming was objects sending messages like tiny independent computers, not the simplified definition many people were taught. Commenters immediately split into camps, arguing over rival traditions, bad teaching, and whether the whole concept was confusing from the start.

A dusty 2003 email from computing legend Alan Kay just reignited a surprisingly spicy identity crisis: what did “object-oriented programming” actually mean when the guy who coined it said it? Kay’s answer, in plain English, is not the tidy classroom version many people learned. He says the big idea was objects acting like tiny independent beings—more like cells or networked computers—talking by sending messages. Not, as many tutorials insist, a holy trinity of buzzwords.

And the comments? Absolute catnip. One camp basically yelled, “Aha! That’s the Smalltalk version!” while others pointed out there’s also a whole Simula tradition, and maybe the real mess is that two different schools have been wearing the same label for decades. That sparked the core drama: was everyone taught the wrong thing, or are there just multiple competing origin stories under one banner?

Then came the hot takes. One commenter read Kay’s “objects as little computers” idea and immediately translated it into: wait, so this started as a model of distributed systems—the kind of software spread across multiple machines—which many people consider a maintenance nightmare. Another turned the thread philosophical, saying people think with things, not words, giving the debate a late-night dorm-room energy. And of course there was the practical crowd insisting the real point is simple: keep responsibilities separate, keep parts loosely connected, and stop worshipping labels. In other words, the article was history—but the comments turned it into a full-on custody battle over what OOP was supposed to be.

Key Points

  • Alan Kay said he first used the term "object-oriented programming" at the University of Utah, probably in 1967.
  • Kay described his original OOP concept as objects analogous to biological cells or networked computers that communicate only through messages.
  • He said messaging was fundamental from the beginning and that he wanted an architecture that would "get rid of data."
  • Kay stated that inheritance was not part of his original built-in design because he was dissatisfied with how Simula I and Simula 67 handled it.
  • He said the work that led to Smalltalk at Xerox PARC was influenced by Sketchpad, ARPAnet, the Burroughs B5000, Generalization of Algol, Euler, LISP, IMP, Dave Fisher’s work, and Carl Hewitt’s PLANNER.

Hottest takes

"That's the Smalltalk school of OOP. There is also the Simula school" — ahartmetz
"does anyone really believe that they are simpler or easier to develop and maintain?" — jqpabc123
"People do not think with words: people think with things" — Mikhail_Edoshin
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.