Zum Inhalt springen

Functional Programming in C++

Foto von Andreas Weis
Hosted By
Andreas W. und 3 weitere
Functional Programming in C++

Details

Hosted by think-cell (www.think-cell.com)

***
On April 10th we'll have the honor to welcome Jonathan Müller to our user group. Jonathan is a Software Engineer at think-cell. There, he is responsible for maintaining think-cell's core libraries, which include a custom range library, a fast and convenient JSON parser, and many other utilities and data structures to write elegant C++ code. Before working at think-cell, he wrote many useful open-source C++ libraries. He is also a member of the C++ standardization committee, where he serves as the assistant chair for std::ranges, and a frequent conference speaker.

***
Main talk by Jonathan Müller

"Functional Programming in C++"

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

***
Lightning Talk by Dániel Teubl

"The evolution of a configuration system for UAV actuator monitoring: a refactoring case study"

With this talk, I invite you to look at the evolution of the configuration management implementation of a UAV actuator monitoring system. The system has an SD card slot with a file system, a USB port and an I2C connection for additional sensors. Over time, we evolved the system from purely compile-time configuration to mixed compile-time and run-time configurations. The latest iteration of the configuration system allows some parameter and feature flag changes at run-time and can update the local configuration file with actual values.

During the talk, we will highlight the main differences between the two design. We will explore the influence of some literature, the and usage of language elements like static_assert, templates and lambda functions and idioms like RAII and YAGNI. At the end of the talk, we will compare the usability and memory consumption of each design and collect some lessons learned.

***
Live Stream: TBA

***
Schedule
18:00 -- Welcome with Dinner and Drinks
19:00 -- Welcome by think-cell/MUC++
19:05 — Lightning Talk by Daniel Teubl
19:30 — Main talk by Jonathan Müller
21:30 -- Official End

Photo of MUC++ group
MUC++
Mehr Events anzeigen
New SmartVillage
Ganghoferstraße 66b · München