So far in this book, we have used a paradigm called imperative programming. In imperative programming, we code each step of the program, describing in detail what needs to be done and in which order it needs to be done.
In this section, we will introduce a new paradigm called functional programming (FP). We have already used some FP code snippets in some algorithms in this book. Functional programming is a paradigm used especially by academics, and thanks to modern languages such as Python and Ruby, it has started to become popular among industry developers as well. And thankfully, we can use JavaScript to program functionally, leveraging its ES2015 capabilities as well.