Concurrency Vs Parallelism

While trying to understand the difference between Concurrency & Parallelism, I came across this 30 minute talk by Rob Pike that clearly explains the differences.

My previous crude understanding of it was like this:

Usain Bolt’s personal best time for 400m & 100m is 45.28s & 9.28s respectively.

If we had 1 Usain Bolt running 400m at his personal best, we can cover 400m in 45.28s.

If we had 4 Usain Bolt clones running 4*100m in a relay style i.e., 1st 100m is covered by Usain Bolt-1 and the next 100m by Usain Bolt-2  and so on, it will take 4*9.58s = 38.32s to cover 400m. We save 6.96s (45.28-38.32) Concurrency !

If we had 4 Usain Bolt clones running 4*100m but this time simultaneously instead of the usual relay fashion, we should be able to cover 400m in 9.58s. We save 35.7s (45.28-9.28) : Parallelism !

Programming Language Popularity

If you are new to programming and looking to figure out the “hot language” to master, this link could be of assistance.

The link provides the list of programming languages that is being actively searched online. It isn’t a perfect tool but it is a good start. Although, I am not a programming expert, it is certainly good to master “Object Oriented Programming”. This framework is utilized by many high level programming languages.