Meeting C++ 2020 Trip Report

Conor Hoekstra · November 14, 2020

This was my second time attending Meeting C++. The first time I attended was in 2019, when I gave my first Meeting C++ presentation, Better Algorithm Intuition.

This year I gave one full length talk, C++ Concepts vs Rust Traits vs Haskell Typeclasses vs Swift Protocols, which covered an introduction to C++ concepts and compared them to similar language features in Rust, Swift, Haskell and D. This broad category of language features is sometimes referred to as “constrained parametric polymorphism.”

I will update this blog with links to the YouTube videos when they become available. You can see a short preview in the tweet below.

Diversity Spotlight

Since my first trip report from CppCon 2020, I have decided to try and highlight diversity in my trip reports. I have decided to focus on the representation of female vs total number of speakers.

Conference F/Total %
CppCon 2020 6/87 6.9%
Meeting C++ 2020 1/14 7.1%

The 7.1% is very similar to CppCon. If you include AMAs, it goes up to 2/18, which is 11.1%. It was great to see such diversity in the keynote talks. It was also great to see the D&I (Diversity & Inclusivity) Panel on the first day. Hoping to see more of these at future conferences.

Thoughts on Remo

I have attended (fully in some cases, briefly popped in for others) 7 online virtual conferences this year:

Conference Date Technology Used
Italian C++ 2020 Jun YouTube + Discord
PLDI 2020 Aug Gather
CppCon 2020 Sep Remo
10th RacketCon Oct Gather
Dyalog 2020 Nov Zoom
Meeting C++ 2020 Nov Remo

From my experience, two things stand out:

  • Remo is by far my favorite platform
  • Remo tables should be 10+

I am not sure what the limit is for table size on Remo - but the size of 6 that Meeting C++ chose I found to be too small. Typically what happened in the Meeting C++ Remo was there was only 1 or 2 tables with conversations happening. If there is only going to be 1 or 2 tables of active conersation, it is better (in my opinion) to have those tables be a bit larger.

image

Overall Thoughts

The virtual Meeting C++ was enjoyable but I definitely missed the in person aspect from the previous year’s meeting. The highlights were:

  • Jonathan O’Connor’s talk on Templates
  • Dawid Zalewski’s talk on Lambdas
  • The D&I panel
  • All of the keynotes were first time talks :)
  • The conversations that I had with folks in between talks

If there is one thing I would improve on it would be have more “new” talks. From what I understand, there were a lower number of submissions this year for both CppCon & Meeting C++, so maybe it isn’t possible to avoid the issue of having many repeat talks from CppCon. It is also worth noting (thanks to Jonathan O’Connor for pointing this out) that CFPs for both conferences sometimes overlap, making it difficult to know what talks will be accepted for CppCon. However, it would be nice (especially for a single track conference) if there were more new (aka first time talks). To be clear, I don’t consider talks given at meetups (I presented at C++TO and others at MUC++) as “previous” talks, I view these as practice runs. A repeat talk for me is a talk that has been presented previously at another conference. Of the 11 non-keynote talks, I gave one of them and I had already seen 6 of them, which left only 4 new talks + the keynotes. That combined with only a couple tables of active conversation in Remo left me with the feeling that Meeting C++ was sort of living in the shadow of CppCon. I only say this because after C++Now in 2019, Meeting C++ 2019 was probably my favorite conference.

Keynotes & Talks

Keynotes

Day Speaker Talk
1 Jonathan Boccara Metapolymorphism
2 Teresa Johnson ThinLTO: Whole Program Optimization
3 Gabriel Dos Reis Programming in the Large with C++20

Talks

Day Speaker Talk Previous Version
1 Timur Doumler How C++20 changes the
way we write code
CppCon 2020
1 Nicolai Josuttis Hidden Features and
Traps of C++ Move Semantics
CppCon 2020
Italian C++ 2020
1 Conor Hoekstra C++ Concepts vs Rust Traits
vs Haskell Typeclasses
vs Swift Protocols
C++TO
2 Sy Brand Building an Intuition for Composition CppCon 2020
2 Jonathan O’Connor Template Shenanigans -
2 Jonathan Müller The Static Initialization Order Fiasco MUC++
2 Dawid Zalewski Lambdas, uses and abuses -
2 Phil Nash OO Considered Harmful CppCon 2020
3 Klaus Iglberger Calling Functions: A Tutorial CppCon 2020
MUC++
3 Rainer Grimm 40 Years Of Evolution
from Functions to Coroutines
CppCon 2020
3 Marc Mutz Partially-Formed Objects
For Fun And Profit
-

AMAs & Panels

Day Speaker AMA/Panel
1 Jason Turner & Rob Irving AMA
1 D&I Panel
2 Hana Dusíková AMA
3 Bjarne Stroustrup AMA
3 Nicolai Josuttis AMA

Top 2 Talks

For my favorite talks, I chose from talks that I hadn’t already seen at a previous conference.

#1: Template Shenanigans: Testing, debugging and benchmarking template code

Speaker: Jonathan O’Connor
Link: To be updated in the future

Alpacas! Sy Brand may have kittens, but Jonathan O’Connor has alpacas (and pointed out that I do not - at least for now). Alpacas aside, this talk was a distillation of resources for development and debugging tools for metaprogramming in C++. This is a subset of tools/techniques covered (there were many more):

#2: Lambdas, uses and abuses

Speaker: Dawid Zalewski
Link: To be updated in the future

This was a continuation of Dawid’s talk from Meeting C++2019, “Lambdas - the old, the new and the tricky” (which doesn’t seem to be online yet). It quickly went from the basics and worked it’s way up to implement the Y-Combinator using lambdas. A great talk that everyone should check out (as well as his 2019 talk when it goes online).

Thank You

Thanks to the volunteers and organizers of the conference. It was great to meet and chat with C++ folks online.

Feel free to leave a comment on the reddit thread.

Hope to see you in person at a C++ conference in 2021 or 2022!

Twitter, Facebook