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

127K views · 13 years ago · keynote · intermediate · evergreen

Alan Kay's keynote at OOPSLA 1997, arguing that the computer revolution has not happened yet. He talks about how to build large systems and think about objects, how ideas and learning scale, and where the web and software had gone wrong.

HN people implore others to watch it as evergreen thinking that anticipated today's web and software complexity, citing it in threads on web design and new ideas for building software.

“I implore people reading this thread to watch this Alan Kay video from 1997”

37 comments from Hacker News

g
@gjvc2018 · in “In web design, everything easy is hard again”
This is an excellent piece of writing. The aphorism "Go slow and fix things." is brilliant. I'm stealing that. I implore people reading this thread to watch this Alan Kay video from 1997, where he rather predicts (albeit perhaps implicitly, if not explicitly) that we will reach the situation we are in today. ▶ this video There is a quote from the talk which rings true with many of the comments here "HTML on the internet has gone back to the dark ages, because it presupposes that there should be a browser which understands its formats" I have found the odd nit with the article: "In one way, it is easier to be inexperienced: you don’t have to learn what is no longer relevant." I think he might mean unlearn, but it's a bit ambiguous. :-)
Strongly recommendsView on HN
s
@shkaboinka2016 · in “WebAssembly Stack Machine”
I believe that switching to a stack machine is short-sighted and a big mistake: The AST format could open up new possibilities for software, some of which are observable in Lispy languages like Scheme (I won't list them here). Instead, we're looking at locking the software world back into this 1960's model for another 50 years out of a misguided concern for optimization over power. It's like foregoing the arch because it's more work to craft, and instead coming up with a REALLY efficient way to fit square blocks together. Congratulations, we can build better pyramids, but will never grasp the concept of a cathedral. To really grasp my point, I BEG you all to watch the following two videos in full and think hard about what Alan Kay & Douglass Crockford have to say about new ideas, building complex structures, and leaving something better for the next generation: ▶ this video link As Alan Kay states, what is simpler: something that's easier to process, but for which the software written on top of it is massive; or one that takes a bit more overhead, but allows for powerful new ways to model software and reduce complexity? I believe that an AST model is a major start in inventing "the arch" that's been missing in software, and with something that will proliferate the whole web ... how short-sighted it would be to give that up in favor of "optimizing" the old thing. Imagine if instead of JavaScript, the language of the web had been Java? Lambdas would not be mainstream; new ways of doing OOP would not be thought of; and all the amazing libraries that have been written because of the ad-hoc object modeling that JavaScript offers. Probably one of the messiest and inefficient languages ever written, yet one of the most powerful ever given. C'mon, let's do it a step more by making it binary, homoiconic, and self-modifying. Thanks.
Strongly recommendsView on HN
C
@ColinWright2025 · in “The Computer Revolution Hasn't Happened Yet (1997) [video]”
Submitted the video to Hacker News.
RecommendsView on HN
m
@mpweiher2024 · in “Alan Kay's talk at UCLA – Feb 2024 [video]”
The Computer Revolution hasn't happened yet, OOPSLA 1997 keynote ▶ this 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
s
@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: ▶ this 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
RecommendsView on HN
g
@gjvc2021 · in “Firefox is the alternative to a Chrome hegemony”
this guy said it best ▶ this video
RecommendsView on HN
r
@rg1112021 · in “Ask HN: What are your most favorite conference talks/seminars available online?”
Hi, I have seen many posts discussing books here on HN, and I am grateful for those posts. The books that I learned about from HN really added value to my life. Thanks for those posts. Let me ask you, what are your all time most favorite talks/seminars/long interviews available online? They might be related to tech, they might not be, as well. Here are some of mine: - Alan Kay: The Computer Revolution Hasn't Happened Yet OOPSLA 97 Keynote (VPRI 0719) (▶ this video) - David Silver: AlphaGo, AlphaZero, and Deep Reinforcement Learning | Lex Fridman Podcast #86 (link) - Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018 (link)
RecommendsView on HN
j
@jgon2021 · in “Flutter 2”
Time to post the evergreen thoughts of Alan Kay from his 1997 OOPSLA talk: ▶ this video We've spend the last 25 years hacking a document renderer and scripting language aimed at 5 line form validation logic into the be-all and end-all of modern application development. Browsers sit at 10s of millions of lines of code, with thousands of people working on them. We depend on a standardization committee to have things like the common controls you could find in a Smalltalk-80 UI, and these are still insufficient for many purposes such that developers end up cramming together a million diffs to create the controls they want, in the style they want. The writing was on the wall once we had a canvas element, aka a drawing context, and webassembly, aka a vm target you can compile to. We can keep building up giant garbage heap of complexity and saying that's what we meant to do ( ▶ this video ), or we can take step back and ask if we can provide simpler lower level tools on top of that. With that said, I feel somewhat ambivalent about all of this. Of course the web is an open standard and has provided an incredible explosion of knowledge and utility for everyone. Any sweeping changes to that should elicit feelings of caution I think. Things like accessibility are important, although I think that enough people recognize this that we don't need to worry about it being left behind with this approach and I would also say the ocean of divs approach isn't exactly great for accessibility either. Will this take off and be the first of a new kind of application development? Maybe, or maybe we'll all look back on it in 10 years and wonder what the hype was. For my part I do feel like some sort of change is going to happen, the current approach of piling more crap on top of the current html app dev paradigm feels unscalable, while the strengths of how it allows for app distribution feel like something that we can never get away from. Will Flutter retain those strengths and leave behind the weaknesses? I hope so, and it make me excited for the future of web development in a way I haven't previously.
RecommendsView on HN
g
@gjvc2020 · in “The web is 30 years old today”
"this has to be one of the worst ideas since MS-DOS.." If you can spare three and a half minutes (start time set to the relevant point) to watch the video [1]from 1997 below... ▶ this video ...then you might enjoy the different point of view as discussed here: link It comes up on HN from time to time, but I thought an alternative source of discussion (second link above) might add something new. [1] if you have never watched this talk completely at least once, give it a shot and you might be very surprised.
RecommendsView on HN
g
@gjvc2020 · in “The Computer Revolution Hasn't Happened yet Oopsla 97 Keynote (VPRI 0719)”
Submitted the video to Hacker News.
RecommendsView on HN
g
@gjvc2020 · in “The Computer Revolution Hasn't Happened Yet – Oopsla 97 – (VPRI 0719) [YouTube]”
Submitted the video to Hacker News.
RecommendsView on HN
m
@mmiller2017 · in “Alan Kay is still waiting for his dream to come true”
"The more interesting/optimized ways to map this would be where a single object in the software internet somehow maps to multiple computers, either doing parallel computation or partitioned computation on each. I feel the semantics of mapping the object onto a physical computer would have to be encoded in the object itself." You might be interested in Alan Kay's '97 OOPSLA presentation. He talked in a similar vein to what you're talking about: ▶ this video Inspired by what he said there, I tried a little experiment in Squeak, which worked, as far as it went (scroll down the answer a bit, to see what I'm talking about, here): link I only got that far with it, because I realized once I did it that I had more work to do in understanding what to do with what I got back (mainly translating it into something that would keep with the beauty of what I had started)... "Maybe there is a feedback loop where the growth of Unix leads to hardware vendors thinking 'lets optimize for C', which then feeds the growth further? OTOH, even emulated machines are faster than hardware machines used to be." There is a feedback loop to it, though as development platforms change, that feedback gets somewhat attenuated. As I recall, what you describe with C happened, but it began in the late '90s, and into the 2000s. I started hearing about CPUs being optimized to run C faster at that point. I once got into an argument with someone on Quora about this re. "If Lisp is so great, why aren't more people using it?" I used Kay's point about how bad processor designs were partly to blame for that, because a large part of why programmers make their choices has to do with tradition (this gets translated to "familiarity"). Lisp and Smalltalk did not run well on the early microprocessors produced by these companies in the 1970s. As a consequence, programmers did not see them as viable for anything other than CS research, and higher-end computing (minicomputers). A counter to this was the invention of Lisp machines, with processors designed to run Lisp more optimally. A couple companies got started in the '70s to produce them, and they lasted into the early '90s. One of these companies, Symbolics, found a niche in producing high-end computer graphics systems. The catch, as far as developer adoption went, was these systems were more expensive than your typical microcomputer, and their system stuff (the design of their processors, and system software) was not "free as in beer." Unix was distributed for free by AT&T for about 12 years. Once AT&T's long-distance monopoly was broken up, they started charging a licensing fee for it. Unix eventually ran reasonably well on the more popular microprocessors, but I think it's safe to say this was because the processors got faster at what they did, not that they were optimized for C. This effect eventually occurred for Lisp as well by the early '90s, which is one reason the Lisp machines died out. A second cause for their demise was the "AI winter" that started in the late '80s. However, by then, the "tradition" of using C, and later C++ for programming most commercial systems had been set in the marketplace. The pattern that seems to repeat is that languages become popular because of the platforms they "rode in on," or at least that's the perception. C came on the coattails of Unix. C++ seems to have done this as well. This is the reason Java looks the way it does. It came out of this mindset. It was marketed as "the language for the internet," and it's piggybacked on C++ for its syntax and language features. At the time the internet started becoming popular, Unix was seen as the OS platform on which it ran (which had a lot of truth to it). However, a factor that had to be considered when running software for Unix was portability, since even tho
RecommendsView on HN