Jump to ratings and reviews

Functional Programming with C#: Create More Supportable, Robust, and Testable Code

After decades of relative obscurity, functional programming is finally coming into its own. With concise, easy-to-read code that supports asynchronous, concurrent processing, aspects of functional programming have begun to appear in several traditionally object-oriented languages such as C# and Java. This practical book shows C# programmers how to use functional programming features without having to navigate an entirely new language. Because of the shared runtime environment common to C# and F# languages, it's possible to use most of F#'s functional features in C# as well. Author Simon J. Painter explains how you can write functional code in C# right away, without having to install dependencies or features newer than .NET 3. You'll learn why functional programming concepts can bring immediate benefit to your work.

325 pages, Paperback

Published October 17, 2023

Loading...
Loading...

About the author

Ratings & Reviews

What do you think?

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
4 (30%)
4 stars
7 (53%)
3 stars
1 (7%)
2 stars
0 (0%)
1 star
1 (7%)
Displaying 1 - 5 of 5 reviews
Profile Image for MichiLectura.
20 reviews
November 29, 2024
Overall, it's a good book for getting into functional programming, but the code contains minor mistakes that might make you question whether you truly understood the subject.
Profile Image for Roman Egorov.
1 review1 follower
August 26, 2024
This is an excellent resource for C# developers who are looking to dive into functional programming (FP) and explore its core concepts. The book serves as a well-structured introduction to FP, tailored specifically for those familiar with object-oriented programming (OOP) in C#.
The author does a great job of highlighting the key advantages of FP while drawing clear comparisons to OOP. Through practical examples, readers can easily grasp why and how FP differs from traditional OOP approaches, and when it might be more beneficial.
A particularly valuable section of the book is where the author walks through the implementation of functional programming techniques such as the Maybe monad, along with other commonly used FP constructs. These examples are directly applicable and help bridge the gap between theory and practice.
One of the standout features is the hands-on demonstration of building a simple game using a functional approach in C#. This example ties everything together and shows how FP can be applied to real-world projects, making it easier for readers to envision using it in their own work.
Additionally, the author provides a brief overview of well-known FP libraries available in the .NET ecosystem. This comparison of NuGet packages is a nice touch, offering readers insight into tools they can leverage to enhance their functional programming journey.
Overall, this book is a must-read for any C# developer interested in broadening their skills with functional programming principles.
Profile Image for Andrei Tarutin.
53 reviews1 follower
August 19, 2026
Well, I happened to read this book during the rise of AI agent tools. I started reading it just before the explosion of agentic CLI tools began to intrude into the work of almost every developer.
Then, because of my workload, I took a nine-month break. Honestly, I just didn't have enough time to read, and it was frustrating. Finally, I came back to it.

My first impression when I returned was: Who needs this now? We live in a world where agents can write code almost completely. I hadn't written a single line of code myself for more than six months. But then I realized that an AI agent still needs an orchestrator — me. The better I understand how to write and organize code, the better results an AI agent can achieve.

So, even nowadays, this book, like many other software development books, is still relevant and important. These books teach you how things work and how to approach software development. You can then pass that knowledge to an agent, ask for assistance, and make your work better and more effective.

As for this particular book, I'd say it is very good. It isn't overloaded with functional programming terminology, and it doesn't force me to Google every other sentence. It is quite easy to grasp and follow. The author definitely has a sense of humor, which I found funny and enjoyable.

It is definitely worth reading. I liked it.
Profile Image for Matt Eland.
Author 7 books13 followers
August 30, 2023
I've tried to learn functional programming in a variety of languages and through a variety of resources over the years. While I ultimately succeeded, I feel like I would have done a far better job learning with this book in my hands. This does its absolute best to remove the fear from functional programming and embrace the practical, then use the concepts to teach more of functional programming terminology.

This is now my default resource to recommend to any .NET dev looking to see how to get started with functional programming in the context of the C# language.
2 reviews
December 17, 2023
Good writing but way too many mistakes and the author does not seem to care seeing as not even the errata is updating in more than 6 months.

Book has potential but as it is now I can only recommend it if its cheap like 15 EUR.
Displaying 1 - 5 of 5 reviews