A Functional programming
It’s anecdotal to say that learning FP makes you a better programmer. It’s true that FP provides an alternative, often simpler, way of thinking about problems. Moreover, many techniques from FP can be successfully applied to other languages. No matter what language you work in, programming in a functional style provides benefits.
FP is more a mindset than a particular set of tools or languages. Getting familiar with different programming paradigms is what makes you a better programmer, and a multiparadigm programmer is more powerful than a polyglot programmer. Therefore . . .
With the technical background having been sorted out in the chapters of this book, this appendix doesn’t cover the aspects of FP applied to concurrency, such as immutability, referential transparency, side-effect-free functions, and lazy evaluations. Rather, it covers general information about what FP means and the reasons why you should care about it.
What is functional programming?
FP means different things to different people. It’s a program paradigm that treats a computation as an evaluation of an expression. A paradigm in science describes distinct concepts or thought patterns.
FP involves using state and mutable data to solve domain problems, and it’s based on lambda calculus. Consequently, functions are first-class values.