C++Now 2019 has ended

Log in to bookmark your favorites and sync them to your phone or calendar.

lecture / case study [clear filter]
Friday, May 10

09:00 MDT

The Rough Road Towards Upgrading to C++ Modules
The long-discussed Modules feature has debuted in the official language specification very recently. This new way is expected to allow a more comprehensive organisation of our code, added benefits of compartmentalisation, cleaner encapsulation and perhaps ease of compilation with regards to build machine performance requirements.

However, for existing systems, Modules brings in some tangible issues which might as well make effort to move away from header inclusion and using traditional translation unit semantics allowing small separate source files impractical, such as the inability to forward declare or to having to always load larger code bases for a compilation.

We have attempted creating a semi-automated tool which modularises existing projects by analysing their syntax and bindings, however, during this effort, we have uncovered issues that seem to make such an effort infeasible, or at least impractical.

In the first part of this talk, we will briefly overview issues with the "current" model, including software technology/design questions and performance, looking at the existing - both battle-hardened and upcoming - tools and features which attempt to lower the system requirements for compilation. The second (longer) part of the talk will discuss our endeavours with Modules, and automatic modularisation.

avatar for Richárd Szalay

Richárd Szalay

(Soon-to-be) PhD Student, Eötvös Loránd University
Richárd has been developing in C++ for around a decade at this point (with occasional breaks to pursue other projects mainly in C# and Python) and has been developing for C++ in the past 4 years. He's between finishing his Master's Degree and continuing career as a PhD student researcher... Read More →

Friday May 10, 2019 09:00 - 10:30 MDT
Hudson Commons