LATE MARCH, 2023: You can now download a large, free preview of the book. See the “Free Preview” section below.
MARCH, 2023: This book was previously named, Learn Functional Programming Without Fear, but I have renamed it 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 the name is also consistent with my other book, Learn Scala 3 The Fast Way!.
FEB., 2023: Learn Functional Programming Without Fear is now one of my best-selling books on Gumroad.com (see the link below).
NOV., 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.
You can now download a large, free preview of the book at the following link:
The full book is 250 pages, and this free preview is 128 pages, so it really is a large free preview.
If you’re interested in learning functional programming, I hope you enjoy this 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,