Writing Purely Functional Code in C#

Learn where .NET development is heading and what mindset you'll need in the future to master multi-paradigm programming with C#.
Course info
Level
Advanced
Updated
May 23, 2018
Duration
4h 15m
Table of contents
Understanding the Need for Discriminated Unions
Treating Functions as Objects, Big Time
Attaining Truly Functional Functions
Treating All Objects as Values
Controlling Execution Flow with Pattern Matching
Working with Sequences in a Functional Way
Treating Sequences as Immutable Objects
Composing Functions into Larger Behavior
Course Overview
Description
Course info
Level
Advanced
Updated
May 23, 2018
Duration
4h 15m
Description

At the core of the latest C# language enhancements is a thorough knowledge of functional concepts applied to an object-oriented framework. In this course, Writing Purely Functional Code in C#, you’ll learn how to blend principles of functional programming into the plain C# code. First, you’ll learn what makes the distinction between pure functional and object-oriented code. Next, you’ll explore syntax and coding practices that will allow you to write pure functional code in C#. Finally, you’ll discover what makes this coding style better when compared to traditional object-oriented programming. When you’re finished with this course, you’ll have a foundational knowledge of functional programming in native object-oriented languages, which will help you as you move forward to writing shorter and cleaner business applications which are easier to maintain in the long run.

About the author
About the author

Zoran Horvat is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack.

More from the author
Making Your C# Code More Functional
Intermediate
3h 55m
Jan 24, 2018
Advanced Defensive Programming Techniques
Intermediate
6h 22m
Aug 25, 2017
More courses by Zoran Horvat
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, everyone. My name is Zoran Horvat and welcome to my course, Writing Purely Functional Code in C#. I'm a principal consultant at Coding Helmet with nearly two decades of experience developing business applications. During that time my coding and software design style has been constantly evolving, driven by the desire to produce short, readable, extendable, and above all, correct and maintainable code. In this course we are going to cover the latest advances in C# programming language syntax and practices. We will show how neatly functional programming style can fit into a modern object-oriented language, which C# definitely is. Some of the major topics that we will cover include: discriminated unions as opposed to class hierarchies, functions as opposed to class methods, pattern matching as opposed to flow control, immutable lists as opposed to data collections. By the end of this course you will know how to design composable domain models which are still easy and safe to extend and maintain in the long run. Before beginning this course you should be familiar with basic functional concepts. You can learn them from my previous course, Making Your C# Code More Functional. I hope you will join me on this journey to learn functional programming with the Writing Purely Functional Code in C# course at Pluralsight.