Controlling complexity is one of the biggest challenges a developer faces. Functional programming helps tremendously in solving the problems arising from this, and thus becomes more and more popular, even in originally imperative and object-oriented languages like C++. This course will help you increase your productivity by teaching you how to write functional C++ code that is easy to understand, test, and reuse.
After mastering the basic building blocks of functional programming, you will learn how to think functionally and also how to elegantly solve everyday programming problems. Every provided coding exercise comes with an exemplary solution that you can peek into in case you get stuck implementing your own solution.
At the end of this course, you will be able to use the functional approach to write application code that is extraordinarily robust and pleasant to work with. The abstractions of control flow will reduce the cognitive load of anybody working with your code, including yourself, which results in more features with fewer bugs in less time.
And as a bonus, all the concepts you have learned will not only help you when using C++, but apply to other programming languages too, and will expand your horizon regarding programming in general.