> Markdown version of [/events/world-congress-2025/sessions/776-functional](https://www.wearedevelopers.com/events/world-congress-2025/sessions/776-functional). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Functional Programming in C++ - **Date:** Friday, Jul 11, 2025 - **Time:** 11:00–11:30 (30 min) - **Room:** Stage 1 - **Event:** World Congress 2025 - **Tags:** c++, functional programming ## Recording [Watch recording](https://www.wearedevelopers.com/videos/1409-functional-programming-in-c) ## Description Functional programming is a declarative way of writing programs by composing functions. In many situations, this can lead to code that is easier to write and understand and less error-prone. However, it requires a shift to a more functional mindset. This talk gives an introduction to functional programming in C++ using the modern standard library. We will cover algorithms using `std::ranges`, composable error handling with `std::optional` and `std::expected`, algebraic data types, and separating IO from computation. In the end, we'll even cover the M-word. ## Speaker ### [Jonathan Müller](https://www.wearedevelopers.com/@jonathan-muller) Software Engineer ## Related talks at this congress - [Data-Oriented Programming - Version 1.1](https://www.wearedevelopers.com/events/world-congress-2025/sessions/700-data-oriented) — Nicolai Parlog - [Modern Java 25](https://www.wearedevelopers.com/events/world-congress-2025/sessions/562-modern-java-25) — Ron Veen - [Beyond Files: Reimagining writing code in a distributed AI-powered era](https://www.wearedevelopers.com/events/world-congress-2025/sessions/899-beyond-files) — Brian Graham - [C# Lowering - What is it and why should I care?](https://www.wearedevelopers.com/events/world-congress-2025/sessions/736-c-lowering-what-is) — Steven Giesel