20 Hacker News comments link this video. Each one links back to its thread.
AceJohnny2May 2025Recommends
Indeed, here's a email from Alan Kay about how his perspective is about "messaging" between objects: [link] (edit: derp, this is directly cited in TFA) Also, I loved this interview/discussion between Kay & Joe Armstrong, inventor of Erlang, where the topic comes up again (because Erlang is also a lot about messaging between agents) ▶ this video
in “Alan Kay did not invent objects (2019)” · View on HN
RendelloNov 2021Recommends
One sort-of exception is Erlang (and anything else that runs on the BEAM vm, like Elixir). It doesn't match Alan Kay's vision exactly, because the message passing is done a bit differently (for example it's asynchronous), but creator Joe Armstrong called it something like "the best of functional programming and OOP". If you come from C++, Java, or other "OOP" languages, and look at Erlang, it's completely different than what you expect. In Erlang, the "objects" are less like mutable structs and more like functional mini-programs that can create new programs, pass messages, and fail as you would expect. To get some perspective on both of their perspectives, here's "Joe Armstrong interviews Alan Kay": ▶ this video
in “Ask HN: If OOP is about message passing, why not sender.send(receiver, message)?” · View on HN
gensApr 2020Recommends
Concurrency.. the way i understand it, it is about making parts of the program run independent of each other and thus can run at the same time. But you might want to check out someone who knows better, like Rob Pike: [link] Yes, Erlang makes concurrent programs easier to write. Again it is better to listen to someone who knows more, like the creator of Erlang Joe Armstrong: [link] Any talk by him is great. Erlang, in how i see it, makes it easier to write concurrent programs because: 1. Parts of a program communicate with other parts by passing messages 2. Every variable is static, as in if you declare that A is 12 you can not change it to be 13 Joe Armstrong had a way of explaining these things so that even i could understand, so i do recommend watching every talk you can find of him. I also recommend the interview he did of Alan Kay ▶ this video . But if you want to really get into concurrency i recommend a paper called "Communicating Sequential Processes" by C. A. R. Hoare. See [link] It's a "formal language" for dealing with concurrency. Go, and some other languages, implement a "CSP style" way of doing concurrency. Erlang doesn't do SIMD, nor GPU. However, it does world scale low latency systems. Of course, it's still up to the programmer to do everything correctly and Erlang is just a tool. I don't quite like *JS, so i won't say anything about that.
in “Gleam: A statically typed language for the Erlang VM” · View on HN
Show 14 more comments
lliamanderJan 2017Recommends
> Erlang != OOP as imagined by Kay... as I understand Kay's intent. You should check out the video[0] of Joe Armstrong interviewing Alan Kay - it seemed to me that Erlang was in some respects closer to what Alan Kay intended for OOP than even smalltalk was. [0] ▶ this video
in “What Happens to OO When Processors Are Free? (2015)” · View on HN
Phiwise_Mar 2024Cites it
>But Alan Kay doesn’t say “use Erlang”, nor does he go into any depths about what the desirable feature set is and what would make it work or would fail to make it work. Oh yeah? Then how do you explain this lecture where he says explicitly that Erlang should be the modern programmer's assembly? ▶ this video In my experience, people who criticize Kay for being too vague or kvetching too pointlessly or lacking practical experience in computer science today almost always have not bothered to familiarize themselves with the vast majority of his work before deciding their opinion on it. It's hard to disagree with him that this makes us more like a pop culture than a profession after seeing it.
in “What does Alan Kay think about LLMs?” · View on HN
inopinatusMar 2021Cites it
The irony of course being that Erlang ranks as one of the most OO languages, if one accepts the Alan Kay concept of OOP, which is rather more behavioural than structural, and thereby entirely compatible with the functional paradigm and algebraic forms generally. See also ▶ this video
in “Why OO Sucks by Joe Armstrong (2000)” · View on HN
angleofreposeJun 2019Cites it
Well, hn seems to have collectively shit on this project in this comment thread. I agree with some of the negatives, but I don't understand why those would be the facets that stick out in this conversation. Yes, his site text explaining motivations are pretty bad. App control is nothing new. And many gestures are similar to other systems. But criticisms based on security, or the originality of his ideas or his general use of swipe gestures are just bullshit. It is backwards and naive to think that desktops are just fine, and computer programmers are historically the last to understand and embrace change (now here is where we could put some Alan Kay quotes, I'll start with his exasperation at our lack of a real CAD system for programming) > "we would have something like what other engineering disciplines have in serious cad system, a serious simulation of the cad designs and a serious fab facility, to deal with the real problems of doing programming. Ivan [Sutherland] just jumped there [with sketchpad]." [1] So lets talk about the interesting features he presented, and do ourselves the service of learning from this work. Panels: Top to bottom for content is DIFFERENT THAN ALL MAINSTREAM OSes. He is lamenting permanent status bars, the windows ribbon, the chrome tab bar and more with this feature. And he goes on to explain alternate features to replace that functionality he moved for this goal of more vertical space. He also displayed a number of situations regarding navigation
in “Desktop Neo – rethinking the desktop interface for productivity” · View on HN
noblethrasherApr 2019Cites it
Not at all hard to believe that he was sincere. He seemed to be pretty starstruck when he was interviewing Alan Kay on stage just three years ago: ▶ this video .
in “Joe Armstrong has died” · View on HN
macintuxMar 2019Cites it
I don't think I've watched it previously, and I don't have the time to now, but I have to imagine Joe Armstrong interviewing Alan Kay would at least touch on that (although from one comment it sounds like they didn't do more than that). ▶ this video
in “Alan Kay on the Meaning of “Object-Oriented Programming” (2003)” · View on HN
anthony_doanMar 2019Cites it
I like Joe Armstrong's definition of OOP and what he did to make Erlang an OOP language: [link] Alan Kay went on the record to state that current OOP miss his point of OOP where message passing is the main point. Joe Armstrong's definition of OOP in the mailing list give a little bit more context on the other modern features of OOP that aren't truly needed. In Alan Kay and Joe Armstrong talk, Alan Kay acknowledge that Computer Science is pop culture where the past aren't learn from and why past mistakes are repeated. ▶ this video
in “Alan Kay on the Meaning of “Object-Oriented Programming” (2003)” · View on HN
spinningslateFeb 2019Cites it
One of the most balanced, insightful and respectful critiques I've read on the topic. Brightened up my day reading it. Thanks. I've stated previously I'm an Erlang fan, for several of the reasons you've highlighted. I similarly don't believe it's a "global maxima". Perhaps the most saddening observation is the number of languages that have come after Erlang - intended for server-type loads - that haven't learned from and built on its strengths in concurrency and fault tolerance. I remember a separate discussion between Joe Armstrong and Alan Kay[0] where Kay posed the wonderful question (paraphrasing): "what comes next that builds on Erlang?" That's a tempting prospect. My personal wish list would include 1st class dataflow semantics and a contemporary static type system and compiler that's as practically useful as Elm's today. The key point is to build on what's been proven to work well, not throw it away and have to re-learn all the mistakes from scratch again. [0] ▶ this video
in “Let’s Talk Concurrency: Panel with Sir Tony Hoare, Joe Armstrong, Carl Hewitt” · View on HN
nicklafApr 2017Cites it
I am quite interested to hear if anybody has any thoughts on the work of Valentin Turchin, the author of Refal. In an interview [1] conducted by Joe Armstrong, Alan Kay traced some of the key ideas of Erlang and Smalltalk to early papers by John McCarthy (Advice Taker), Carl Hewitt (Planner), Simula, and other work (including META 2, which apparently inspired OMeta). The theme here seems to be a favorite of Kay's: "late binding of meaning" used to build systems that scale just as well as biology. In his interview, Kay mentions Minsky's Computation: Finite and Infinite Machines , which discusses various models of computation. Now, Alan Kay has long looked to biology for hints on how to scale. (For example, in the interview I mentioned, he says that a computer is a "universal atom of meaning".) I mention all this because what I am reading of Valentin Turchin [2] is making me very tempted to add (English) expositions of his work alongside my reading of Minksy's Computation . Specifically, Turchin's work on Supercompilation [3,4], which seems to draw upon a tradition of cybernetics [5], seems to me to be in somewhat of the same spirit as that of Kay's, at least when you consider that the influence of cybernetics largely means that we take cues from biology and attach meaning to existing patterns in nature and technology alike in our endeavors to replicate its success (and of course couple our constructions with them in feedback loops, as in the elecrical engineering that largely
in “Tree Oriented Programming [pdf]” · View on HN
gensJan 2017Cites it
>OO has been designed to model the world in the hope that this would make expressing business logic easier. OO was designed for multi processing by sending msgs between multiple processes[0]. Like nature does. However I do not find it suitable for most parallel computing work because race conditions. [0] ▶ this video
in “What Happens to OO When Processors Are Free? (2015)” · View on HN
zengidJan 2017Cites it
Alan Kay once said (at an Erlang conference): "By the time the software engineering of a language gets in good shape, the language has become obsolete in terms of 'needed expressiveness'. [Therefore] in a 'Real' computer science, the best languages should serve as the 'assembly code' for the next generation of expression!" [1] He then proposed the hypothetical question: "What should Erlang be an assembly code for?" [2] I'm not sure if he knew about Elixir.. [1] ▶ this video [2] ▶ this video
in “What's all this fuss about Erlang? (2007)” · View on HN
mpweiherNov 2016Cites it
Ahh..META II [1]. This is awesome. Was just mentioned again in the "Joe Armstrong interviewing Alan Kay" talk [2][3]. One of Alan's favourite papers. Joe: "Dan said if you look at this, you will lose a month of your life. And I did" Or words to that effect. Also the basis for OMeta[4]. I have to admit I've been avoiding it so far in order not to get diverted from architectural insights[5] but this may just be accessible enough to dive on in. [1] [link] [2] ▶ this video [3] [link] [4] [link] [5] [link]
in “Tutorial: Metacompilers Part 1” · View on HN
mpweiherNov 2016Cites it
I obviously can't tell you what he's thinking, but I can make an educated guess: In the video (and almost anywhere else you look) you'll note he talks about recursion on the concept of "computer" as a way to scale, because that way the parts are as powerful as the whole. If you split that concept into the sub-notions of "procedures" and "data", you no longer have that recursive principle, and "functions" in this context are sufficiently equivalent to procedures. Going the other way, functions don't really scale up, many if not most things in computing are not functions to be computed. One could argue that computers and "computer science" are misnamed, as computation is more the exception than the rule. "Data-around-shufflers" would be more appropriate. I didn't see the exact monad references, but they look like ways of working around the fact that the "function" primitive is inappropriate. It is really nice , mind you, and has wonderful properties. Kind of like circles as the basis for astronomical orbits: they are "perfect", but the world isn't perfect in the same way, so trying to model the imperfect world with these perfect primitives leads to having to introduce epicycles/monads. My 2 €¢ Edit: “Functions are nice, but you need to advance the state of the system over time” — ▶ this video
in “Joe Armstrong Interviews Alan Kay [video]” · View on HN
espeedNov 2016Cites it
This is one of the papers referenced by Alan Kay in the talk posted to HN one day ago: Joe Armstrong Interviews Alan Kay [video] ( ▶ this video ) Discussion: [link]
in “META II: A Syntax-Oriented Compiler Writing Language (1964) [pdf]” · View on HN