March, 2023: I’m renaming the book to Learn Functional Programming The Fast Way!. I think this name is more reflective of the ZIO and Cats Effect libraries being easier to learn than ever before (without having to know category theory), and it’s also consistent with my other book, Learn Scala 3 The Fast Way!.
February, 2023: Learn Functional Programming Without Fear is now one of my best-selling books on Gumroad.com (see the link below).
November, 2022: My new book, Learn Functional Programming Without Fear, is currently an Amazon Java and functional programming #1 new release. The book is now available in three formats:
For OOP developers: Start learning FP the fast way
This is a small book, but it’s a small book with a HUGE goal:
To help object-oriented programming (OOP) developers who use languages like Java, Kotlin, Python, Swift, and C++ learn the concepts that take you to the cusp of using Scala’s two main functional programming libraries: Cats Effect and ZIO.
Furthermore, the book does that in less than 270 pages of text that are written in a simple, conversational style — just like I was pair programming with you, or mentoring you in a small classroom — with plenty of example FP code.
To be clear, when I say “the cusp” of using those FP libraries, when you finish the book, I want you to be able to look at the initial examples in the Cats Effect and ZIO documentation and think:
“I know what they’re doing, and I know why they’re doing it.”
I believe this book is the fastest, simplest way for OOP developers to start learning FP.
Also, as I always do with my books, I offer a large, free preview of the PDF. This version is a little older than the final version of the book, but if you’re unsure, I encourage you to read it before buying it at one of the links above:
As always, I hope you like this new functional programming book, and I hope it’s helpful.
Errata (bugs/issues in the book)
In the place where I use this in the book:
type Money = Double
I should have used something like this instead:
type Money = BigDecimal // do this type Money = Long // OR this
Bonus: Functional Programming resources
As an ongoing resource for anyone who has read this book, here are some of the best FP resources I know:
- My much larger FP book, Functional Programming, Simplified
- Video: Real-world functional programming in Scala using ZIO, by Yonas Ghidei
- The ZIO website
- The Cats Effect website
More-complicated functional programming resources
- Bartosz Milewski’s PDF, The Dao of FP is rich in category theory
All the best,