Skip to content

Meetup #10: Overengineering

J
Hosted By
Jeroen and 2 others
Meetup #10: Overengineering

Details

Please join us for our tenth official C++ Helsinki Meetup! We meet again for talks and discussion about the C++ programming language.

This month, we are being sponsored by think-cell. The meetup will be hosted at Maijansali, the event space on the ground floor of the Oodi Helsinki Central Library, Töölönlahdenkatu 4, 00100 Helsinki, Finland.

Anyone interested in the C++ programming language is welcome to attend!

Code of Conduct: By attending C++ Helsinki you agree to abide by the Berlin Code of Conduct. It is a primary goal of our meetup that our attendees feel safe, welcome, and included. If you have any concerns at all, please do not hesitate to contact the organizers Timur Doumler and Jeroen Akershoek here on meetup.com.

This month, we have the following exciting talk for you:

Jonathan Müller: "Overengineering `max(a, b)`: Mixed Comparison Functions, Common References, and Rust's Lifetime Annotations"

`max` is a function that returns the maximum of two numbers. While it seems simple on the surface, there are some nuances if you want to make `max` fully generic. For starters, what is `max(-1, 1u)` or `max(lvalue, prvalue)`?

Let's go on a journey of overengineering `max`. We'll implement better mixed comparison functions, discuss common types and common references, wish for time machines to correct language semantics, and end up implementing Rust-style lifetime annotations using template metaprogramming and lots and lots of macros.

The end result is a true work of art that we may or may not be using in actual production code.

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. Jonathan is also a member of the C++ standardization committee, where he serves as the assistant chair for std::ranges and is a frequent conference speaker.

Schedule:

17:00 Doors
18:00 Introduction by the hosts & sponsors
18:15 Talk by Jonathan Müller
19:45 End

We are planning to have some drinks and snacks available. In addition, as usual, we are planning to go to a nearby pub after the meetup to continue socialising and networking.

Photo of C++ Helsinki group
C++ Helsinki
See more events
Oodi central library
Töölönlahdenkatu 4 · Helsinki