Origins of Go Concurrency style by Rob Pike
Why Hacker News recommends it
HN recommends it as the clearest account of the CSP lineage behind Go's goroutines and channels.
What it is
Rob Pike's 2010 talk at OSCON's Emerging Languages Camp on where Go's concurrency style comes from. It traces the idea from Hoare's CSP through Squeak, Newsqueak and Limbo to Go.
Recommended by 3 HN commenters across 3 different months, 2013 to 2025.
What Hacker News said
Recommends canthonytucci · 2013-09 · on “Less is exponentially more (2012)”
For those who don't know who Rob Pike is, he's pretty awesome, helped create UTF-8 among other things, and now works on Go. [LINK] He has given some really great Go talks which are available on youtube, about an hour each: Origins of Go Concurrency Style - [this video] Lexical Scanning in Go - [LINK] Go Concurrency Patterns (One of my favorites) - [LINK]
Recommends bishop_mandible · 2014-09 · on “Rob Pike: Reflections on Window Systems (2008) [video]”
The Blit video he mentions: [LINK] A similarly interesting talk by him on CSP-inspired languages (Occam, Erlang, Squeak, Newsqueak, Limbo, Alef, Go): [this video] Slides (not shown in the video): [LINK] Interesting as well: From parellel to concurrent (on Sawzall and Go): [LINK]
Recommends why-el · 2019-01 · on “The Story of Squeak, a Practical Smalltalk Written in Itself (1997)”
Squeak was the inspiration for Newsqueak by Rob Pike, co-author of Golang. A lot of the concurrency ideas can be traced to this timeline, some fascinating stuff there. Check out this video by Pike: [this video] .
Cites vanderZwan · 2013-02 · on “Google Go: The Good, the Bad, and the Meh”
I'm not sure who "they" are, but certainly not the core development team, and Samuel Tesla does not represent them. See for example Rob Pike saying how mind blowing and inspiring Tony Hoare's CSP paper is, how everyone should read it and how it inspired Go[1]. Another example is how Go's regexp implementation has a solid mathematical foundation[2]. Now, those are two examples of quite old programming research being used to good effect in Go, so there is an opening for criticism there. But in general I'm pretty sure the core go devs don't have have anything against programming research nor try to create this false dichotomy. [1] [this video] [2] [LINK]
Cites mseepgood · 2018-07 · on “Go: building on the shoulders of giants and stepping on a few toes [video]”
Intersting talk. Here are some other talks about the history and origins of Go: Evolution of Go (Griesemer, GopherCon 2015) Video: [LINK] Slides: [LINK] Origins of Go Concurrency (Rob Pike, OSCON 2010) Video: [this video] Slides: [LINK]
Cites Kranar · 2025-07 · on “The borrowchecker is what I like the least about Rust”
I can't substantiate your claim about Erlang or weird syntax, is that either a proper quote or some kind of paraphrasing because nothing remotely close to it comes up. There are numerous interviews with Rob Pike about the design of Go from when Go was still being developed, and Erlang doesn't come up in anything that I can find other than this interview from 2010 where someone asks Rob Pike a question involving Erlang and Rob replies by saying he thinks the two languages have a different approach to are fairly different: [this video] It's at the 32 minute mark, but once again this is in response to someone asking a question. Here are other interviews about Go, and once again in almost every inter