5 most interesting talks from Meeting C++ 2014

by Max Galkin

Meeting C++ 2014 conference was held in Berlin in December, and with support from Tableau I was able to attend it. The conference had 3 parallel tracks of talks, so I’ve seen a third of the talks at the time, plus I watched a few more recordings afterwards based on the talk descriptions. I think by now all the videos are published on this Youtube channel, you can also find a list of talks with short abstracts on the conference’s website. The conference was overall well-organized, and audio/video are high-quality.

Below is the list of the 5 most interesting talks from this conference, in my opinion. Most talks have the Youtube video embedded in their description, but for some talks I provide the link to the Youtube video separately.

1. “Plain threads are the ‘GOTO’ of today’s computing” by Hartmut Kaiser.

Maybe I liked it because it is so relevant to the performance areas I’m working on. The talk discusses important abstractions for describing parallelism in C++ code, including an overview of the proposed primitives for C++17, and is based on the open-source HPX runtime work.

 

2. “The Evolving Search for Effective C++” by Scott Meyers.

I especially recommend watching the part from approximately minute 14 till minute 60, where Scott describes the process of writing the Item 42 “emplace vs insert” guideline for his latest book “Effective Modern C++”. The rest of the talk is less technical, Scott gives a historical overview of his publications and talks about writing effective guidelines in general.

3. “The C++ Memory Model” by Valentin Ziegler.

Good quality overview of the Standard with regards to modern C++ memory model, multithreading, data races, atomics, memory ordering. But if you know all that, and can explain the SC-DRF model and how the Standard defines “synchronizes-with” and “happens-before”, then you don’t need to watch it :)

4. “Pruning Error Messages From C++ Template Code” (youtube) by Roland Bock.

This talk is for all you C++ meta-programmers, who seek to write a template library. The talk demonstrates a number of clever practices on how to “wrap” the internals of the library to make the compiler error messages more readable. The talk is based on Roland’s experience developing Sqlpp11 — a LINQ-like framework for C++ described in his other talk “Sqlpp11, An EDSL For Type-Safe SQL In C++ For Databases, Containers, Streams And More”, which I recommend watching only if you need such a library right now and you build only with Clang or GCC, as the framework uses some C++ features not available in VS 2013 (not sure even about VS 2015).

5. “When dependency hell freezes over: Managing C/C++ project dependencies” (youtube) by Daniel Pfeifer.

Why do so many open-source C++ libraries claim “zero dependencies” as a major feature? Because there is no established cross-platform dependency manager for C++. This talk describes the requirements and proposes a possible implementation of one, based on the experience of Boost framework maintaners.

 

Ok, actually, in the spirit of over-achievement, here are 2 more talks that I found interesting, based on my notes :)

6. “Testdriven C++ with Catch” (youtube) by Phil Nash.

Phil presents a single-header easy-to-use test framework for C++.

7. “Monads in Chains” by Ivan Cukic.

Ivan shows implementations of several monads in C++ including the continuation monad, which lets you chain asynchronous operations in “await”-like style without language support for the “await” keyword, and the code looks _almost_ like the imperative version (“unfortunately C++ doesn’t let you overload semicolon…”).

 

I hope you enjoy these talks!