Functional Programming using C++
Write more robust and easier to maintain C++ code than ever before.
- You will be able to write code that is easy to understand and almost self-documenting.
- You will be familiar with the background of functional programming and understand the fundamental differences of functional solutions compared to imperative ones.
- You will be able to solve programming problems elegantly by composing functional tools only or mixing them with other paradigms.
- You will spend much less time debugging your real-world applications because of their increased run-time safety.
- You will be able to utilize multiple CPUs to improve the performance of your applications.
- Your understanding of functional programming will help in other languages than C++ too. And it will expand your horizon regarding software engineering in general.
- You should have some experience in programming with C++.
- Previous experience with functional programming is not necessary.
- A C++14-compatible compiler is needed.
Controlling complexity is one of the biggest challenges a developer faces. Functional programming helps tremendously with 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 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 solve everyday programming problems in an elegant way. Every provided coding exercises comes with an exemplary 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.
And as a bonus, all the concepts you have learned will not only help you when using C++, but are applicable to other programming languages too and will expand your horizon regarding programming in general.
- This course is for all C++ developers (intermediate and advanced) who want to improve the quality of the C++ code they produce by learning about and applying functional programming principles.