After decades of relative obscurity, functional programming is finally coming into its own. With concise, easy-to-read code that supports asynchronous, concurrent processing, aspects of functional programming have begun to appear in several traditionally object-oriented languages such as C# and Java. This practical book shows C# programmers how to use functional programming features without having to navigate an entirely new language.

Because of the shared runtime environment common to C# and F# languages, it's possible to use most of F#'s functional features in C# as well. Author Simon J. Painter explains how you can write functional code in C# right away, without having to install dependencies or features newer than .NET 3. You'll learn why functional programming concepts can bring immediate benefit to your work.

  • Learn what functional programming is and how it originated
  • Discover features of the functional paradigm using a more familiar language
  • Start coding functionally in C# right away, without relying on third-party libraries
  • Write code that's more robust, less error prone, and easier to test
  • Examine less conventional ways to look at structures available in C#
  • Explore the practicalities of using functional C# in a business environment

Table of Contents

  1. Preface
  2. 1. Introduction
  3. 2. What can we do already?
  4. 3. Functional Coding in C# 7 and Beyond
  5. 4. Work Smart, Not Hard with Functional Code
  6. About the Author