Why are functional programming languages preferred for processing Big Data?

  1. As functional programming languages extensively utilise deterministic pure functions, the input values can be distributed across multiple computing devices, and these pure functions are executed independently on these machines.
  2. They support memoisation because pure functions are referentially transparent, which means for a given set of input values, the function will always return a fixed output. So, the function is only computed once, and the output is stored in a cache. Whenever this value is required, you can directly look it up from the cache memory, without needing to recompute the process.
  3. Functional programming languages establish a functional dependency between the input and the output values. So, if a certain output is not required, its evaluation can be delayed. This delay in evaluation is known as lazy evaluation.