Nov 6, 2017

Visualzing Concurrency

https://divan.github.io/posts/go_concurrency_visualize/

"Concurrency is not parallelism" -- Rob Pike

One of the strongest features of golang is the ability to fork off work concurrent to your primary, or secondary, or whatever task. Rob Pike's famous quote is a simple description of the feature, concise in its explanation but incredibly powerful nonetheless. It's a straightforward concept that shouldn't be hard to understand, but sometimes simple explanations are the hardest to wrap your head around...especially for newbies, especially for me!

The golang community is incredibly strong and the yearly Gophercon meetups present some of the best talks on the internals, projects or fun stuff around the language. This post from Ivan Daniluk was a result of a revolutionary talk given by Ivan himself at Gophercon '16 which had a lot of people buzzing in the hallways afterwards...exclamations like "I finally understand what concurrency means!" and "Why did it take me so long to understand that concurrency is not parallelism" could be heard from users (read: me), but the beauty and simplicity of concurrency was shocking.

Enjoy!