A (short) Tour of C++ Modules

Speaker: Daniela Engert

Audience level: 2

Modules are probably the most impactful and most transformative recent major addition to the C++ language. From a user perspective, Modules are conceptually simple and the idea is easy to grasp. And with the C++20 ecosystem maturing, using Modules and adopting them into every-day programming is both feasable and advantageous.

  • But what is the motivation that lead to the invention of Modules and their inclusion into the standard?
  • How do they look like?
  • Which are the three key features of C++ Modules that exist since the inception of the language, that are mostly irrelevant in the typical usage of 'classical' C++ such that hardly any programmer needs to know much about them but a Modules developer does?
  • What surprises might lie on the path of transforming a classical library into a Module?
  • Are there still any issues, loose ends or open questions regarding Modules

The talk will try to give a comprehensive answer to those questions. The audience shall get enough information to decide when the right time has come for them to take the plunge and move their codebase to Modules wherever it is advantageous.