C#'s functional journey
summary
Live coding in Visual Studio traces concrete C# changes: delegates in C#1, generics and IEnumerable iterators in C#2, lambdas and extension methods enabling fluent LINQ in C#3, IQueryable producing IQueryable → SQL translation at runtime, async in C#5, pattern matching and switch expressions in C#7–8, and immutability via init-only setters plus records with with-expressions offering non‑destructive mutation and value equality — each demo compiles and shows the actual code transformation and runtime behavior.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:26Functional journey overview
- 2:50First-class functions in C# 1
- 4:14Polymorphism in C# 2
- 7:03Generics and type inference
- 9:55Iterators and anonymous methods
- 12:03Querying in C# 3
- 13:08Lambda expressions and fluent syntax
- 16:42Extension methods for functional style
- 18:48Language Integrated Query (LINQ)
- 23:43Query expressions as monads
- 24:47Async in C# 5
- 25:49Expression-bodied members
- 26:10Type-dependent behavior
- 30:00Pattern matching in C# 7
- 31:49Switch expressions in C# 8
- 33:13Advanced pattern matching
- 34:57Immutability in C#
- 37:26Records and non-destructive mutation
- 40:55Value-based equality
- 41:16Conclusion
related talks
57mPipeline-oriented programming
01h 02mThe sceptics guide to pattern matching
01h 01mMoving IO to the edges of your app: Functional Core, Imperative Shell
01h 05mThe Imperatives Must Go!
46mWhy Care About Functional Programming
52mGo Fully Functional and Take Your Legacy Code with You!
55mF# and Fable: re-think web development
56mWriting simpler ASP.NET Core
