Functional Programming is a programming paradigm where you mostly construct and structure your code using functions.
Features:
- First-class citizens functions: you can always insert functions inside a function without any restrictions present.
- A higher-order function: a function that gets a function as an argument.
- Function Composition: an act of composing/creating functions that allow you to further simplify and compress your functions by taking functions as an argument and return an output.
Benefits:
- It doesn’t have side-effects and it’s immutable
- It’s clean, straightforward and KISS