Book: Learn Functional Programming Without Fear (FP for OOP developers)

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 (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:

PDF Format
$10 (USD) on

Learn Functional Programming Without Fear (PDF Version)

$20 on Amazon

Learn Functional Programming Without Fear (Paperback)

$10 on Amazon

Learn Functional Programming Without Fear (Kindle Edition)

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.

Free preview

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:

More-complicated functional programming resources

  • Bartosz Milewski’s PDF, The Dao of FP is rich in category theory

All the best,