People occasionally ask me, “What’s the easiest way to learn functional programming?” If you look at all of the books on the right side of this image, I can tell you that reading all of those books wasn’t an easy way to learn functional programming (FP):
IMHO there’s a much easier way to learn the FP basics: I’ve made almost 40% of my book, Functional Programming, Simplified, freely available.
The lessons in the free PDF you can find at that URL include:
- The goals of the book
- Rules for functional programming
- The history of functional programming, and the meaning of terms like lambda and lambda calculus
- The advantages of functional programming
- The disadvantages of functional programming
- The benefits of pure functions
- Why the signatures of pure functions are so important
- How FP is like writing Unix pipeline commands
- How FP is like algebra
- Eight lessons on recursion
- A review of Scala’s case classes
- Much more ...
If you read those free lessons and find them easy to read and learn, I think you’ll find that the rest of the book makes learning advanced functional programming concepts as easy to learn as possible as well. In the rest of the book I break each FP concept down into lessons that are typically less than 5-10 pages in length. By breaking complex topics down into small, bite-size nuggets, I think you’ll find that this book does indeed make functional programming as easy to learn as possible.
In summary, if you’re interested in learning functional programming, I encourage you to start with the free lessons in Functional Programming, Simplified. I hope this is a good way to make learning the functional programming basics as easy (and free) as possible.