Functional Programming on .NET - The Best of Both Worlds
summary
Argues that the essential gains come from expressions and immutability rather than fancy syntax, demonstrates replacing mutating Calculator class with pure functions that accept state and a logger and return new state, shows a REPL workflow (Ionide in VS Code) and pipeline composition to chain operations, models mutually exclusive contact methods with pattern matching and recommends union types (tagged unions) as the next useful C# feature. Claims: fewer bugs, easier tests, lower TCO, faster time‑to‑market; C# adds sugar but is still OOP‑first.
AI-written summary · about
chapters (29)
- 0:00Functional programming on .NET
- 1:49Why consider FP today
- 3:11Misconceptions about functional programming
- 5:39Core FP principles
- 7:05Expressions in C#
- 9:13Expressions reduce bugs
- 10:19Immutability explained
- 12:03Benefits of immutability
- 14:31Higher-level FP
- 16:24OOP vs FP in C#
- 19:34Lambdas functional?
- 20:22Link as FP tool
- 23:13FP hard in C#
- 26:23FP light for C#
- 28:11Missing FP features in C#
- 30:20Mutual exclusion in C#
- 33:28FP limitations in C#
- 34:10C# OOP roots
- 37:51No shortcuts in FP
- 38:34F# for .NET devs
- 40:37F# in VS Code
- 41:40Immutability in F#
- 44:10F# records
- 46:18F# calculator example
- 48:44F# function composition
- 50:32F# domain modeling
- 52:18F# ecosystem
- 53:25Try functional programming?
- 54:54Q&A
related talks
58mFunctional Programming with C#
01h 09mFunctional Programming with C#
44mFunctional Programming You Already Know
01h 03mFunctional Programming with C#
14mFundamentalist Functional Programming
01h 08mThinking Functionally with C#
01h 44mFunctional Programming: Technical Reasons to Adapt
49m“Applying functional programming in code design"
