Thank you for purchasing the MEAP edition for Functional Programming in C#, Second edition.
This book is written for developers proficient in C# (or other object-oriented languages) who want to further improve their skills by leveraging functional programming techniques.
I propose a pragmatic approach to functional programming, so I strived to make the content relevant for real-world applications. The book’s underlying theme is that integrating functional techniques in your practice will make your programs more maintainable and more robust, and will make you a better-rounded developer.
Part 1 introduces the basic ideas of functional programming, and reviews the language constructs in C# that enable you to code functionally. I try to leverage your existing experience with LINQ, higher-order functions, and unit testing, to gradually get you to adopt a functional perspective on your code.
Part 2 builds on this understanding to show some classic functional techniques: what considerations to make when defining types and functions; how to handle optional data; and how functions can be composed into programs. By the end of part 2, you’ll be seeing the benefits that this style has to offer, and you’ll be able to write parts of your programs in a functional style.