Origins of Go Concurrency style by Rob Pike
jasonofthel33t3 HN recommenders · 2013–2025
28K views · talk · evergreen · Uploaded 2012-10-28
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.
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
1:12:27CppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
51:18Lexical Scanning in Go - Rob Pike
GoogleFOSSSydney
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
Metosin
1:03:29Maybe Not - Rich Hickey
ClojureTV
7:48Conway's Game Of Life in APL
Dyalog
1:12:56Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
1:42:09Crockford on JavaScript - Volume 1: The Early Years
YUI Library
6 comments from Hacker News
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] [VIDEO] [2] [LINK]
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 - [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): [VIDEO] Slides (not shown in the video): [LINK] Interesting as well: From parellel to concurrent (on Sawzall and Go): [LINK]
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: [VIDEO] Slides: [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: [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: [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]