2023 Keynote, Bret Brown and Bill Hoffman: A First Step Toward Standard C++ Dependency Management

We’ve previously announced keynotes by Bjarne Stroustrup on C++ Safety, and Andrei Alexandrescu on AI and C++. We’re now pleased to announce the third of our five conference keynotes: Bret Brown and Bill Hoffman will be delivering a talk on an important topic for all C++ projects… Dependency Management.

From their talk description:

A First Step Toward Standard C++ Dependency Management

Prebuilt libraries have existed for decades… they even predate C++! After all these years, techniques to use prebuilt libraries are still ad hoc and difficult to maintain. A root cause of this variety of techniques is the variety of things that are C++ libraries: header-only libraries, statically-linked archives, dynamically-linked binaries, and so on. The consuming projects need to build against these libraries in consistent ways or risk unproductive workflows – and potentially, even catastrophic failure in production environments. This lack of convergence creates enormous interoperability problems across broad portions of the worldwide programming ecosystem, not just the C++ parts of it.

This talk will explore the complexities of defining what is a “C++ library.” It will then present the joint work of Kitware, Bloomberg, and others toward a preliminary design for creating initial standards for dependency management in C++ – metadata files to describe prebuilt libraries. A roadmap for maturing the design will also be shared, including proposing a standard definition for C++ libraries, building on previous proposals such as P1313: Package Specification.

This talk is intended for anyone who produces, maintains, or consumes C++ libraries. Special knowledge of C++ tooling, build systems, or package managers is not required.

This talk is also the keynote talk for the Tooling Track.

Registration is now open so don’t miss out on CppCon 2023 this October 2-6. Register today!