Functional programming (FP) defines standard operations on collections.
It is a declarative paradigm that treats computation as the evaluation of mathematical functions.
Most of the operations, you perform on collections can be accomplished with five simple functions:
These five functions hold a key to simplifying asynchronous programming and avoiding race conditions, propagating and handling asynchronous errors, and sequence events and requests.
With functional programming (FP), the code is organized around:
In other words, the application of several function programming operations creates a composite type called a Algebraic data type
In the same vein that SQL,
Multiple invocations of a function at different points in time will always return the same output as long as the input remains the same. It makes it easy to understand and predict the behavior of the program.
imperative vs Functional 1)
JVM based Functional Programming Languages