Skip to Content
Functional Programming with C#
book

Functional Programming with C#

by Simon J. Painter
September 2023
Intermediate to advanced
325 pages
7h 45m
English
O'Reilly Media, Inc.
Book available
Content preview from Functional Programming with C#

Chapter 11. Practical Functional C#

I’m not just a pretty face.1 In addition to spending my days slogging at the virtual IT coalface each day, I’ve also been privileged enough to spend a lot of time over the years talking at various events on the subject of functional programming with C#. While at these talks, a few questions come up on a fairly regular basis.

The most common is “Why don’t we just use F#?” See all the way back in “What About F#? Should I Be Learning F#?” for my answer to that particular question. It comes up at just about every event I’ve ever spoken at, which is one of the reasons I gave such a detailed answer.

Oddly, the second most common question is to explain monads (which I did in Chapter 7). Hopefully, after getting to this point, you’re something of an expert on that yourself now.

After these, the next most common question is about performance. There’s a widespread belief that FP in C# is inefficient in production code compared with OOP. I’ll spend the first section of this chapter talking about performance and whether it’s an issue that you need to be concerned about before adopting functional C# in your everyday life—or, at least, your everyday life that involves .NET code. For me, there’s a rather large overlap between those two things.

Functional C# and Performance

Let’s continue now with a look at functional C# and performance. To do that, we’re going to need a bit of code to use as a test subject, so we can compare imperative code (i.e., the programming ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Functional Programming in C#

Functional Programming in C#

Enrico Buonanno

Publisher Resources

ISBN: 9781492097068Errata PageSupplemental Content