C++Now 2019 has ended
Back To Schedule
Friday, May 10 • 09:00 - 10:30
The Rough Road Towards Upgrading to C++ Modules

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
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

PhD Student, Eötvös Loránd University, Faculty of Informatics, Department of Programming Languages and Compilers
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 6 years. He is currently a PhD student researcher, working at Ericsson Telecommunication Technologies... Read More →

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