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.
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.