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

February, 2023 Update: Learn Functional Programming Without Fear is 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,