Good videos, with context.
Google I/O 2012 - Go Concurrency Patterns

Google I/O 2012 - Go Concurrency Patterns

Google for Developers
9 HN recommenders · discussed 2012–2025
Open YouTube ↗

About this video

Rob Pike's Google I/O 2012 talk shows how goroutines and channels solve tricky concurrency problems with simple Go code. It features a playful goroutine demo with gophers passing messages and a search engine example.

Why it appears in the archive

The canonical recommendation for learning Go concurrency, praised as entertaining and clarifying when to use channels versus mutexes.

AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.

From the Hacker News discussion

mseepgood · 2012-07 · strong rec

Great talk by Rob Pike: [VIDEO] "Go Concurrency Patterns" with cute little gophers playing Chinese whispers with megaphones

Read original comment ↗
canthonytucci · 2013-09 · strong rec

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 - [LINK] Lexical Scanning in Go - [LINK] Go Concurrency Patterns (One of my favorites) - [VIDEO]

Read original comment ↗
luriel · 2012-07 · rec

In one word: channels. They might be theoretically equivalent to some degree, but in practice they are quite different, and I find reasoning about both concurrency and parallelism using goroutines and channels much more natural. Also see this talk by Rob Pike on the origins of Go's concurrency model here: [LINK] See also this article by Russ Cox about CSP: [LINK] And Rob Pike's latest talk about concurrency patterns at Google IO last week: [VIDEO]

Read original comment ↗
mseepgood · 2013-04 · rec

I'm a fan of Go, but this is not a very good talk. The first half is unnecessary trolling, and the second half is based on some code snippets taken from Rob Pike's "Go Concurrency Patterns", but in this case badly presented. So I prefer the original: [VIDEO]

Read original comment ↗
danneu · 2013-07 · rec

You're responding to: > Clojurescript is the browser language I always > wanted. JS seems like such a hack. You're getting downvoted for reading into someone's enthusiastic personal endorsement and then ending it with the tiring "Tell me something good about <thing I refuse to read or understand on my own time but I'll partake in discussion anyways>...". Start with Rob Pike's "Go Concurrency Patterns" ( [VIDEO] )

Read original comment ↗
aray · 2014-03 · rec

Great explanation in document form of these patterns. Also very succinct and easy to reference. For those that would rather read this in presentation form: [LINK] And for those that would rather watch a video presentation: [VIDEO]

Read original comment ↗
srcreigh · 2014-06 · rec

In my experience with Android apps, I've almost never had to use the NDK. When I did have to use the NDK, it wasn't because I wanted to code in C/C++---it was because there were strong, open-source libraries written in C/C++ that I wanted to use in an app (Though, I have no experience making games on Android). If you want to check out Go, then the Go Tour [1] and the various talks by Rob Pike [2] [3] / Sameer Ajmani [4] are great resources. The Go Tour stands on its own as an interest-building resource; the several programming exercises it has you do are fun and challenging. [1]: [LINK] [2]: [VIDEO] [3]: [LINK] [4]: [LINK]

Read original comment ↗
staunch · 2018-08 · rec

Rob Pike did a number of interesting talks on concurrency in Go. If you search "Go concurrency" on YouTube there are more good talks. Go Concurrency Patterns [VIDEO] Concurrency Is Not Parallelism [LINK]

Read original comment ↗