Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay
Erlang Solutions6 HN recommenders · recommended in 7 months, 2016–2026
interview · intermediate · evergreen · 2016–2026 on HN
Joe Armstrong, creator of Erlang, interviews Alan Kay at Code Mesh. They discuss the meaning of object orientation, message passing, the META II paper, and the state of computer science.
HN uses it in debates about what OOP originally meant, since Kay's message-passing view lines up with Erlang's processes.
Up next
3 mo on HNMatt Might - Winning the War on Error Solving the Halting Problem and Curing Cancer
Curry On!
3 HN recommender · 2017–2019
8 mo on HN"The Mess We're In" by Joe Armstrong
Strange Loop Conference
10 HN recommender · 2014–2025
2 mo on HNEric Cline | 1177 BC: The Year Civilization Collapsed
The Institute for the Study of Ancient Cultures
2 HN recommender · 2016–2020
2 mo on HNComputer Science - A Guide for the Perplexed • Joe Armstrong • GOTO 2018
GOTO Conferences
3 HN recommender · 2019–2021
10 mo on HNErlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
Erlang Solutions
6 HN recommender · 2014–2022
8 mo on HNTempleOS | Down the Rabbit Hole
Fredrik Knudsen
7 HN recommender · 2019–2022
5 mo on HNAndrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
ChimiChanga
4 HN recommender · 2024–2026
6 mo on HNOld-fashioned rice cookers are extremely clever
Technology Connections
6 HN recommender · 2020–2025
13 mo on HNJim Simons (full length interview) - Numberphile
Numberphile2
11 HN recommender · 2015–2024
11 mo on HNSteve Jobs Stanford Commencement Speech 2005
JoshuaG
13 HN recommender · 2007–2015
11 mo on HNAlan Kay - Normal Considered Harmful
powerfuloutlet
10 HN recommender · 2012–2026
10 mo on HNGrowing a Language, by Guy Steele
Bill Pugh
11 HN recommender · 2014–2026
12 comments from Hacker News
Thanks, I'll check it out! When I implemented messaging for Abject, I used the Erlang model. I also added P2P support so objects can talk across the network. There is this great discussion between Joe Armstrong and Alan Kay if you haven't see it. ▶ this video EDIT: Just checked your smalltalk implementation. Very cool! Do you remember the Open Croquet project in the early 2000s? Way ahead of it's time. I wonder if a modern version of that could work today now that we have good VR headsets.
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
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
Checking out what Alan Kay has to say about it might help: ▶ this video The way i see it OOP is about encapsulating/bundling data and the code that processes that data into one "object", that is isolated from other objects. The objects could only "communicate" with other objects by sending "messages" (data/events/something). Personally i don't like OOP, and think that focusing on data and how it's processed is a better way forward (CSP and such). It's.. a complicated matter.
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.
That is so sad, he was in his late 60s and it seemed like he had a lot of life left in him, talking about how software can get better and having a great (and sometimes snarky) outlook on the profession. Highly recommend his thesis (2003) and a few of his great interviews/presentations for anyone who isn’t familiar with Joe, it captures a lot of what he thought about and pushed for in his professional life. link ▶ this video link link I hope his family and friends can find some comfort in how much he was appreciated and admired in the development community.
> 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
>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.
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
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
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 .
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