Functional programming is a programming paradigm that has gained a lot of popularity since 2010. In the last few years, many functional frameworks or libraries have appeared in many programming languages, and functional languages have seen a rise in interest. Functional programming is not a new programming paradigm, but getting into it from a theoretical perspective can be intimidating.
The world of functional programming is full of new terms (such as monoid, monad, currying, purity, and higher-order function) that can seem difficult to comprehend, and some of them come with different definitions depending on the source of the information. But functional programming has some very interesting benefits:
- Functional code is deterministic, with behavior that can (at least in theory) be proven
- Functional code can isolate side effects from the...