The author Luis Atencio often compares procedural code to functional code so you can learn with side-by-side examples. The book covers best practices and modular development to not only teach you functional programming, but to teach it to you the right way.
The 8 chapters are split into three overarching sections: Think Functionally, Get Functional, and Enhancing your Functional Skills. These sections take you from the ground-up by explaining theory, then practice, then more advanced skills.
Here’s a breakdown of the contents:
Functional programming doesn’t require excessive libraries or special commands. It’s just a way of writing code and building your architecture. But the examples in this book help you learn functional programming through more complicated problem/solution methods.
I liked the sections on higher-order functions and monads, both of which are valuable topics that get covered in great detail.
The best part is that once you understand the basics there’s no going back. So you can dive deeper into functional programming and move at your own pace. Luis writes in a way that helps you compare both styles of coding along with OOP examples so that you clearly see the differences.
My favorite thing about this book is how it approaches the problem of functional programming.
Many chapters also write out how to solve problems in a functional way which is really helpful. This forces you to think about functional programming so that you learn to solve all your future problems in the same fashion.
Speaking technically this book excels and really pushes functional programming from every possible angle.
I did notice a few confusing passages with either typos or improper grammar. This occurred more than a few times, and personally I’m OK to just blow past this stuff. But you may be bothered if you expect perfection from tech publishers(a well-deserved sentiment).
I also think some of the code examples stretch the limits of value vs complexity. The author sometimes covers a topic that breaks into functional programming, but then mentions that the topic is too detailed to be covered in the book. At only 270 pages I would’ve expected Luis to just keep going and cover everything.
I’m not sure if this was done to keep the difficulty level down or if it was Manning’s decision. But either way this book may leave you wanting more detail in some areas.
But if you just need to get started I cannot think of a better guide. This title will hold your hand in the beginning and help you compare procedural code to functional code so that you can see the differences. This really is the best way to introduce yourself to functional JS, or even just functional programming in general.
Also since this is a Manning book you get a free digital version whenever you purchase a copy. This is exclusive to Manning’s titles and I find their stuff usually offers the best bang for your buck.
I can’t give it a perfect score just because of the various grammar mistakes and the sporadic levels of detail(some chapters more detailed than others). But putting these minor complaints aside, this is one damn good functional programming book.