Functional Kotlin book is finally ready!
I am happy to announce, that the book Functional Kotlin is finally ready. It might seem, like I wrote it in less than a year, but the truth is, that this book has been waiting in my head for a few years already. It is based on the content I teach on my Kotlin for Developer workshop. The workshop, that I conducted nearly 100 times already. With every edition, I could improve my examples and explanations, I could observe what resonates with attendees and what does not, I could learn about other questions they have when they listen about functional Kotlin features. This book is a child of all those experiences.
This book was also influenced by its amazing technical reviewers. This team includes Owen Griffiths, Endre Deak, Piotr Prus, Jacek Kotorowicz, Anna Zharkova, Norbert Kiesel, and Jana Jarolimova. They all made significant contributions to this book. Language revision was done by Michael Timberlake. Without all of them, this book would not be as good.
When I was writing this book, I had a feeling that it should include at least a short chapter dedicated to Arrow, a popular library supporting functional programming style in Kotlin. The problem is, that I am not an expert in this area. Thankfully, a team of amazing experts, Alejandro Serrano Mena, Raúl Raja Martínez, and Simon Vergauwen, who are Arrow maintainers and co-creators, agreed to write this chapter. So the last chapter, A birds-eye view of Arrow, is their craft.
This book is about Kotlin’s functional programming features. It covers the essentials first and then builds on them. It presents important and practical topics like collection processing, function references, scope functions, DSL usage and creation, and context receivers.
This book is perfect for developers who know the basics of Kotlin and want to learn more advanced features. Math knowledge is NOT required to understand and benefit from this book. It is a natural continuation of Kotlin for Developers: Essentials.
This book focuses on Kotlin’s functional features, including:
- function types,
- anonymous functions,
- lambda expressions,
- function references,
- functional interfaces,
- collection processing functions,
- DSL usage and creation,
- scope functions,
- the essentials of the Arrow library.
This book is a part of Kotlin for Developers series. It is my ultimate series, teaching Kotlin from essentials to advanced topics. Each of its books can be read independently, but together they form a complete picture.
The whole series includes:
- Kotlin Essentials, which covers all the basic Kotlin features.
- Functional Kotlin, which is dedicated to functional Kotlin features, including function types, lambda expressions, collection processing, DSLs, and scope functions.
- Kotlin Coroutines: Deep Dive, which covers all the features of Kotlin Coroutines, including how to use and test them, using flow, best practices, and the most common mistakes.
- Advanced Kotlin, which is dedicated to advanced Kotlin features, including generic variance modifiers, delegation, multiplatform programming, annotation processing, KSP, and compiler plugins.
- Effective Kotlin: Best Practices, which is about the best practices of Kotlin programming.
More about the book on this page.