Reasoning behind the functional approach
Functional programming has been around for as long as other programming paradigms, for example, procedural and object-oriented programming. However, it has seen a notable surge in popularity over the past 15 years. One significant catalyst for this is the plateauing of CPU speeds. As we can’t ramp up CPU speeds like we used to (as transistors shrink to atomic scales, issues like quantum tunneling and other quantum effects start to interfere with their functionality), the alternative is to parallelize our software. It turns out that functional programming is particularly adept at handling parallel tasks.
The evolution of multicore processors is a fascinating topic in itself, but we’ll cover it only briefly here. Workstations have had multiple processors since at least the 1980s to support the running of tasks from different users in parallel. Since workstations were massive during this era, they didn’t need to worry...