Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt

Erlang Solutions · 13K views · 2019 · 1:06:45

Open on YouTube

Distributed systemsFunctional programmingComputability & complexity theorytalk

Why Hacker News recommends it

HN recommends it for getting the inventors of major concurrency models together, disagreements included.

What it is

A panel with Tony Hoare, Joe Armstrong and Carl Hewitt, hosted by Francesco Cesarini, on the history and future of concurrency. The three creators of CSP, Erlang and the actor model discuss their differing approaches.

Recommended by 3 HN commenters across 3 different months, 2019 to 2026.

What Hacker News said

Strong rec coolKid721 · 2025-04 · on “Erlang's not about lightweight processes and message passing (2023)”

Watch the guy who came up with Erlang, the Actor model and CSP discuss it: [this video] One of my favorite videos on youtube.

Recommends apoorvgarg · 2019-04 · on “Joe Armstrong has died”

[this video] This recent panel (Armstrong, Hewitt and Hoare) discussion on concurrency was the first time I got to know about him and it gave me a lot of food for thought.

Recommends lokelow · 2026-03 · on “Turing Award winner and former Oxford professor Tony Hoare passed away”

I was introduced to him pretty late in the game, in this interview where he and Joe Armstrong and Carl Hewitt talked concurrency! It was interesting hearing them discuss their different thoughts and approaches [this video]

Cites andrekandre · 2021-04 · on “Red and blue functions are a good thing”

Threads + some kind of channel (a la Erlang processes or Go's goroutines) are pretty much direct programmatic representations of CSP. sorry if i misinterpreted, but i dont think that is correct that erlang processes exemplify channels/csp afaiu erlang is based on non-sequencial processes more like the actor model, there is no "communicating sequencial" process at the base of it (though you can implement csp in actor languages) afaik here you can see joe armstrong and carl hewitt fundamentally disagree with sir tony haore (csp) and sequential channels as a fundamental construct [1] [this video] again, apologies if im arguing something that wasnt implied, it was just something i noticed ^^

Cites pbohun · 2025-11 · on “A million ways to die from a data race in Go”

Not quite. Erlang uses the Actor model which delivers messages asynchronously to named processes. In Go, messages are passed between goroutines via channels, which provide a synchronization mechanism (when un-buffered). The ability to synchronize allow one to setup a "rhythm" to computation that the Actor model is explicitly not designed to do. Also, note that a process must know its consumer in the Actor model, but goroutines do not need to know their consumer in the CSP model. Channels can even be passed around to other goroutines! Each have their own pros and cons. You can see some of the legends who invented different methods of concurrency here: [this video] There's also a nice talk Rob Pike