Chapter 1. Introduction
If you’ve learned much programming before now—whether in C#, Microsoft Visual Basic, Python, or whatever—then chances are that what you learned was based around the programming paradigm that is currently the most dominant: object oriented. Object-oriented programming (OOP) has been around for quite a long time. The precise date is a matter of debate, but it was likely invented somewhere around the late ’50s or early ’60s.
Object-oriented coding is based around the idea of wrapping pieces of data—known as properties—and functionality into logical blocks of code called classes, which are used as a sort of template from which we instantiate objects. There’s a lot more to it: inheritance, polymorphism, virtual and abstract methods—all sorts of stuff like that.
This is, however, not an OOP book. In fact, if you are already experienced with OOP, you’ll probably get more from this book if you leave what you know already to one side.
In this book, I’ll be describing a style of programming that serves as an alternative to OOP: functional programming (FP). FP, despite gaining some mainstream recognition in the last few years, is actually as old, if not older, than OOP. FP is based on mathematic principles developed between the late 1800s and 1950s, and has been a feature of some programming languages since the 1960s. I’ll be showing you how to implement FP in C# without the necessity of learning a whole new programming language.
Before we get cracking with some code, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access