Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Functional Programming using C++
Rating: 4.6 out of 5(656 ratings)
3,875 students

Functional Programming using C++

Write more robust and easier to maintain C++ code than ever before.
Created byTobias Hermann
Last updated 6/2026
English

What you'll learn

  • 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 between functional and imperative solutions.
  • You will be able to solve programming problems elegantly by composing functional tools only or mixing them with other paradigms.
  • Because of their increased run-time safety, you will spend much less time debugging your real-world applications.
  • You will be able to utilize multiple CPU cores to improve the performance of your applications.
  • Your understanding of functional programming will help in other languages too. And it will expand your horizon regarding software engineering in general.

Course content

4 sections27 lectures1h 35m total length
  • Introducing functional programming8:22

    You will learn the differences to imperative programming and why they matter.

  • Introducing functional programming
  • Correctness follows from expressiveness8:35

    You will see how even at the most basic level, your code can be improved immediately and how this renders some types of bugs impossible. Additionally you will be introduced to FunctionalPlus.

  • Type annotations5:25

    You will learn about the semantics of type annotations and why they are very useful.

  • Type annotations
  • Advantages of certain restrictions1:51

    This lecture will highlight different benefits following from purely functional code.

Requirements

  • You should have some experience in programming with C++.
  • Previous experience with functional programming is not necessary.
  • A C++14-compatible compiler is needed.

Description

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.

Who this course is for:

  • 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.