preface
Hello! Thanks for purchasing Grokking Functional Programming. I’ve spent the last decade talking with programmers about the approach to programming, its maintainability, and how functional programming concepts are slowly being adopted by mainstream languages. Many of those professional developers say it’s still very difficult to learn functional concepts from existing sources, which are either too simplistic or too complex. That’s the gap this book is trying to fill. It aims to provide a step-by-step practical guide for programmers who want to get the full picture of fundamental functional programming concepts.
People learn best from examples, and that’s why this book is heavy with them. Theory always comes second. After finishing this introductory book, you’ll be able to write fully featured programs using functional programming and comfortably dive into its theoretical foundations.
You’ll get the most benefit from this book if you’ve already created some non-trivial applications using an imperative object-oriented language like Java or Ruby. It’s a big plus if you’ve worked on a team who struggled with lots of bugs and maintainability issues, because this is where functional programming shines the most.
I hope you’ll enjoy reading the chapters and solving the exercises as much as I enjoyed writing them. Thanks again for your interest in the book!
—Michał Płachta
