Functional Programming (FP) is a programming style that focuses on functions and minimizes changes of state (using immutable data structures). It is closer to expressing solutions mathematically rather than step-by-step instructions.
In FP, functions should be “side-effect free ” (nothing outside the function is changed) and referentially transparent(a function returns the same value every time when given the same arguments).
FP can be seen as an alternative to the more common imperative programming, which is closer to telling the computer the steps to follow.
Although functional-programming can be achieved in Java ...