
jasonofthel33t
3 HN recommenders · recommended in 6 months, 2013–2025
38:19 · 28K views · Oct 28, 2012
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.
HN recommends it as the clearest account of the CSP lineage behind Go's goroutines and channels.
6 comments from Hacker News
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]
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]
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 .
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]
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]