November 2017
Intermediate to advanced
670 pages
17h 35m
English
One of the greatest benefits of FP is performance.
Programs today achieve better performance largely by performing more than one operation at a time using multiple CPU cores.
This means running code in parallel, and to do that, our code must be thread-safe. Programs that have a shared mutable state are not thread-safe. These programs will be bottlenecked in one core.
FP solves this bottleneck/thread safety issue by returning new instances of variables rather than changing the original instance.

Let's look at the Map function to see how we can pull this off using FP:
func (cars Collection) Map(fn MapFunc) ...