Jonathan Müller
Functional Programming in C++
#1about 3 minutes
Understanding functional programming principles in C++
Functional programming is a declarative style that eliminates state to reduce bugs, and C++ allows combining its benefits with imperative performance.
#2about 4 minutes
Building lazy data pipelines with C++20 ranges and views
Use `std::ranges` and views like `transform` and `filter` to create lazy, state-free data processing pipelines that avoid intermediate allocations.
#3about 8 minutes
Solving complex problems with advanced range adaptors
Leverage powerful range adaptors like `cartesian_product` for combinations and `chunk_by` for splitting sequences based on a predicate.
#4about 6 minutes
Creating composable error handling with `std::expected`
Model failures as values using `std::expected` to build clear, functional error handling pipelines with `transform` and `and_then`.
#5about 4 minutes
Separating IO from computation using deferred actions
Isolate side effects by composing IO operations as declarative actions, a pattern that mirrors the upcoming C++26 senders and receivers framework.
#6about 2 minutes
Understanding monads as a unifying composition pattern
Recognize that ranges, `std::expected`, and IO actions are all monads, sharing a common interface for composition with `transform` and `and_then`.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:21 MIN
Understanding functions as mathematical concepts
F#, path to functional enlightenment
01:13 MIN
Core principles of the functional programming paradigm
Down the Oregon Trail with Functional C#
00:03 MIN
Shifting from object-oriented to functional programming
F#, path to functional enlightenment
00:42 MIN
Core principles of functional programming
A Guide To Functional Programming
13:51 MIN
Real-world applications of functional programming
A Guide To Functional Programming
03:51 MIN
The core concept of pure functions versus side effects
Java with a Clojure mindset
07:37 MIN
Using higher-order functions like map, filter, and reduce
Using backend languages for frontends: Why ClojureScript is an awesome idea!
19:25 MIN
Audience Q&A on functional programming concepts
A Guide To Functional Programming
Featured Partners
Related Videos
C++ Features You Might Not Know
Jonathan Müller
A Guide To Functional Programming
Jemima Abu
F#, path to functional enlightenment
Onur Gumus
C++ in constrained environments
Bjarne Stroustrup
Down the Oregon Trail with Functional C#
Simon Painter
101 brilliant things of C++
Andreas Fertig
The Design and Evolution of C++
Bjarne Stroustrup
Tackling Complexity With Functional Programming And Kotlin
Georg Dresler
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)
Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL


Functional Engineer (Haskell,Nix)
Modus Create
Iserlohn, Germany
Remote
Senior
API
Erlang
Clojure
Blockchain
+2

Functional Engineer (Haskell,Nix)
Modus Create
Zürich, Switzerland
Remote
Senior
API
Erlang
Clojure
Blockchain
+2





Software Engineer, Full Stack
Monad Foundation
Birmingham, United Kingdom
Remote
Senior
API
React
Svelte
MongoDB
+6