Talks to Watch

Origins of Go Concurrency style by Rob Pike

28K views · Oct 28, 2012 · 38:19 · 3 HN recommenders · 6 mentions · discussed 2013–2025

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.

Why Hacker News points people here: HN recommends it as the clearest account of the CSP lineage behind Go's goroutines and channels.

“Check out this video by Pike”HN comment, 2019

What Hacker News said 6

RecommendscanthonytucciSep 2013

“He has given some really great Go talks which are available on youtube”

Great hour-long Go talk by Rob Pike.

Full comment

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

in “Less is exponentially more (2012)” · view on HN
Recommendsbishop_mandibleSep 2014

“A similarly interesting talk by him on CSP-inspired languages”

Talk on CSP-inspired languages from Occam to Go.

Full comment

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

in “Rob Pike: Reflections on Window Systems (2008) [video]” · view on HN
Recommendswhy-elJan 2019

“Check out this video by Pike”

Traces concurrency ideas from Squeak to Newsqueak to Go.

Full comment

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 .

in “The Story of Squeak, a Practical Smalltalk Written in Itself (1997)” · view on HN
Cites itvanderZwanFeb 2013

“Rob Pike saying how mind blowing and inspiring Tony Hoare's CSP paper is”

Pike on how Hoare's CSP paper inspired Go.

Full comment

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

in “Google Go: The Good, the Bad, and the Meh” · view on HN
Cites itmseepgoodJul 2018

Talk on origins of Go concurrency.

Full comment

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

in “Go: building on the shoulders of giants and stepping on a few toes [video]” · view on HN
Cites itKranarJul 2025

“It's at the 32 minute mark”

Pike's answer comparing Go and Erlang at 32 minutes.

Full comment

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 interview I'd say Rob kind of insinuates he was motivated by a dislike of using C++ within Google to write highly parallel services, but not once is Erlang ever mentioned: link link link

in “The borrowchecker is what I like the least about Rust” · view on HN