Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet

Jeff Gonis6 HN recommenders · 2013–2025
127K views · talk · evergreen · Uploaded 2013-02-12

Alan Kay's 1997 OOPSLA keynote, preserved on YouTube after being lost from Google Video. He discusses what object orientation was meant to be, messaging, system design, and the state of computing practice.

Treated as a foundational talk, cited constantly for Kay's views on object-oriented programming and for rethinking software practice.

Watch on YouTube

20 comments from Hacker News

@PuercoPop2013 · in “The Future of Programming in Node.js”

I should just probably say, clearly you haven't seen Common Lisp's defpackage, modules are actually first class objects there and are completely decoupled from the file system. But most importantly as Barbara Liskov mentions in this video[1] we don't know what is a module exactly or how to use them yet. Which is an specific statement aligned with Alan Kay's famous "We don't know how to design systems so let's not turn it into a religion yet."[2] tl;dr; 1) Innovation is good. 2) Javascript's module is a half assed implementation of Common Lisp's defpackage. (Don't get me wrong is still way better than Python's abhorrent ninja goto: import) [1]: [LINK] [2]: [VIDEO]

@aufreak32013 · in “What's wrong with Object-Oriented Programming and Functional Programming”

The Alan Kay reference is from his OOPSLA'97 talk [2], where he says that he's "apologized profusely over the last 20 years for introducing the term 'object oriented'" and suggests that the Japanese notion of "Ma" or "the unseen stuff that goes between objects" as what is important. (edit) [3] is a quote from a communication with Kay in 2003 - "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them." [2] [VIDEO] (around 38minutes) [3] [LINK]

@jgon2014 · in “WebKit.js: Pure JavaScript Port of WebKit”

You should check out Alan Kay's OOPSLA keynote "The Compute Revolution Hasn't Happened Yet" at [VIDEO] specifically about 20 mintues in where he says that a browser should be exactly what you say here. On the one hand, he was talking about this almost 20 years ago, on the other hand you're in good company because he's a pretty smart guy! I encourage all developers to watch that talk and do some thinking about the current state of our practice and where we want to go from here.

Strongly recommendsView on HN
@e12e2016 · in “Restoring Y Combinator's Xerox Alto, day 4: What's running on the system”

I recently (re)discovered Alan Kay's 1997 OOPSLA talk: [VIDEO] For others that have been following his work (and talks), it doesn't really contain much new stuff, but the context of a talk to an audience of programmers brings out some different contexts. He touches on the the fact that they didn't "just" spend extra money to prototype the dynabook in the form of the Alto - but they built 2000 machines - and part of that is of course so they could invite (among others) whole classes of school children to come and play with the tech.

RecommendsView on HN
@infinite8s2016 · in “Alan Kay on AI, Apple and Future”

No, compared to the early vision (1950s/60s) of computers as metatools that humans can use to augment their cognition. The current crop of mobile devices (and even most desktop devices) are nowhere nearer to that glorious goal. See his OOPSLA talk "The computer revolution hasn't happened yet" - [VIDEO]

RecommendsView on HN
@gnipgnip2016 · in “Let’s Stop Bashing C”

Alan Kay in his famous OOPSLA talk mentions how the architecture itself leads to these language choices. [VIDEO] He mentions how Xerox PARC machines with tagged architectures from the 80s were only 1/50 the speed of the x86 systems in '97. This, in contrast to the 50000x increase in computing power over the same time frame.

@leoc2018 · in “Qt for WebAssembly”

Isn't progress wonderful? 2010: [LINK] Speaking of which, the linked page is no longer up, so here's a Wayback Machine impression: [LINK] ... and ofc the Google Video link in my comment [LINK] > 1 point by leoc on Jan 16, 2010 | parent | favorite | on: QT on Google Native Client > 1997^H^H^H^H1961 is calling; someone just picked up the rotary phone. [LINK] . is now broken too, so here's a link into a YouTube upload: [VIDEO]

@timbit422018 · in “The faster you unlearn OOP, the better for you and your software”

The best arguments against OOP, as it is done in most languages today, are made by Alan Kay, the creator of Smalltalk and the term "object-oriented". Alan should have used the term "message passing" so people wouldn't miss this component of Smalltalk that made it so great. "I invented the term object-oriented, and I can tell you that C++ wasn't what I had in mind." - Alan Kay, Source: [VIDEO]

@4lch3m1st2019 · in “Alan Kay on the Meaning of “Object-Oriented Programming” (2003)”

From his talk on OOPSLA[1], I'd say that only Smalltalk and Common Lisp (through CLOS) were able to perform OO as Kay envisioned. Erlang is another story: it would probably be better to call it just actor model. But again, Kay himself says[2] that there is not a lot of difference between actor model and his OOP. [1] [VIDEO] [2] [LINK]

@gambler2019 · in “Correctness – A paradigm for sustainable software development”

Most Alan Kay's presentations I've seen were worth watching. Tons of great ideas in each. They really improved how I reason about systems. There is this famous talk from OOPSLA 1997: [VIDEO] If you want to see what "practical" OOP looked like in the 80s, this is a good video: [LINK]

Strongly recommendsView on HN
@Rochus2021 · in “The Repeated Deaths of OOP (2015)”

Kay is said to have coined the term "object-oriented", but his conception of object orientation differs considerably from that of Dahl and Nygaard as well as from all current OO languages. Dahl and Nygaard invented the first object-oriented programming language (Simula 67) but didn't use the term. And yes, active objects reacting to messages (events) passed to them were already part of Simula I (1962). The referenced article - like many others - moreover quotes Kay incompletely; Kay in the sentence next to the one quoted in the article said " the important thing here is that I have many of the same feelings about Smalltalk "; see [VIDEO] . Smalltalk-76 and 80 (in contrast to Smalltalk-72) implement inheritance and virtual methods as it was done in Simula 67, just like C++ and Java do.

@danuker2022 · in “.NET Myths Dispelled”

> Alan Kay’s 97 OOPSLA keynote Is it this one? [VIDEO] Edit: I suspect it is this one, at 10:33 Alan says "Actually I made up the term <<object-oriented>>, and I can tell you I did not have C++ in mind."

@oumua_don172022 · in “Ask HN: Top inspiring books on crucial CS ideas?”

The Art of metaobject protocol In his 1997 talk at OOPSLA, Alan Kay called it "the best book anybody's written in ten years", and contended that it contained "some of the most profound insights, and the most practical insights about OOP", but was dismayed that it was written in a highly Lisp-centric and CLOS-specific fashion, calling it "a hard book for most people to read; if you don't know the Lisp culture, it's very hard to read" [2] [1] [LINK] [2] [VIDEO]

@chongli2022 · in “460M Indian Internet Users Are Now on IPv6”

operating systems which are totally transparent and easily understood by their users I sort of glossed over this part so now I have a chance to elaborate. Alan Kay has put a ton of thought into this issue [1]. He firmly believes that we can build an operating system and application software with an extremely small footprint (LOC's) so that a single person can understand the whole thing. Since he gave that talk, we've moved further and further away from Kay's vision. We've made things more and more complex, opaque, centralized, and difficult to change. We've given away our future to big tech companies. Heck, we've even given away the past. We've lost much of the freedom we had back in the 90's, let alone the 70's and 80's when Kay did so much of his work. We're going to have to work incredibly hard just to regain what we've lost. [1] [VIDEO]

RecommendsView on HN
@gjvc2022 · in “Show HN: A self-updating list of the most current useragents”

"I really would like you to contrast that with what you have to do with HTML on the Internet. Think about it. HTML on the Internet has gone back to the dark ages because it presupposes that there should be a browser that should understand its formats. This has to be one of the worst ideas since MS-DOS." -- [VIDEO]

@surprisetalk2023 · in “Ask HN: How to protect blog from AI search?”

This is an extremely difficult question that I've been grappling with myself. My first strategy is to create writings that can't be summarized. I try to make essays that are dripping with idiosyncrasy. I can't win in an information war, but I can stay competitive for ~10 years in a creative clash: [1] [LINK] [2] [LINK] [3] [LINK] [4] [LINK] [5] [LINK] I myself draw lots of my inspiration from my "sages of style", in the same way that AIs will try to replicate my voice. None of these great thinkers can be summarized or replicated in any meaningful way: [6] David Foster Wallace: [LINK] [7] George Carlin: [LINK] [8] Derek Sivers: [LINK] [9] John Green: [LINK] [10] Roman Mars: [LINK] [11] Alan Kay: [VIDEO] [12] Alan Watts: [LINK] [13] Richard Feynman: [LINK] [14] Raymond Smullyan: [LINK] But style only takes you so far. My second strategy is to socialize IRL. This year, I'm starting a tech conference called "Outland" to foster community in an age where community might be all that matters. [15] [LINK]

@mpweiher2024 · in “Alan Kay's talk at UCLA – Feb 2024 [video]”

The Computer Revolution hasn't happened yet , OOPSLA 1997 keynote [VIDEO] Others have already mentioned The Early History of Smalltalk , highly recommended. You'll probably want to read it a couple of times, revisit from time to time. The big idea is messaging, or rather "ma" [LINK] "The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be." "I think I recall also pointing out that it is vitally important not just to have a complete metasystem, but to have fences that help guard the crossing of metaboundaries." " I would say that a system that allowed other metathings to be done in the ordinary course of programming (like changing what inheritance means, or what is an instance) is a bad design. (I believe that systems should allow these things, but the design should be such that there are clear fences that have to be crossed when serious extensions are made.)" "I would suggest that more progress could be made if the smart and talented Squeak list would think more about what the next step in metaprogramming should be -- how can we get great power, parsimony, AND security of meaning?"

RecommendsView on HN
@igouy2024 · in “Learning from the Object Oriented Mania”

Here's Alan Kay lavishing praise minute 54 [VIDEO] on "The Art of the Metaobject Protocol" [LINK]

@randito2024 · in “Giving T cells extra batteries supercharges them against cancer”

For people who want to learn biochemsistry and subsequently be in awe and the complexity and mechanisms, there's a great beginner book, The Machinery of Life. [LINK] I found my way there after an Alan Kay video -- OPSLA 1997 - The computer revolution hasnt happened yet: [VIDEO] On the subject of awe, here's another from Kurszsegat - The Most Complex Language in the World: [LINK]

@fidotron2025 · in “MCP is the coming of Web 2.0 2.0”

I would agree with that if there were no distinction between clients and servers. i.e. agents and LLMs are resources that should be discovered and exploited in the same exact way as anything else, and switchable in the same ways. The whole thing reminds me of stuff like Alan Kay's legendary OOPSLA talk in 1997 ( [VIDEO] ) "Every object should have an IP" (Also "Arrogance in computer science is measured in nano Dijkstras").