Back To Schedule

Our Other C++ Interfaces

Mistakes to Avoid When Writing C++ Projects

11:00 - 12:30 Thursday 2nd May 2024 MT Lauder Seminar Room
Beginner
Intermediate
Advanced
API Design

When considering interfaces in the context of C++, software engineers typically think about C++ language constructs: namespaces, base classes, function prototypes, and other entities defined by the C++ standard.

However, the challenge for C++ library authors is to provide not just carefully-crafted code, but also well-considered projects that deliver functionality to users. Providing useful and reusable libraries means stepping outside the C++ syntax to consider other kinds of interfaces provided by our C++ projects.

This talk goes beyond the C++ syntax to fill in these gaps through an exploration of the other kinds of interfaces and contracts that are implicitly and explicitly provided by C++ projects.

During this discussion, contract-based thinking will be applied to the parts of C++ projects that are not C++ source code. Both conceptual tools and pragmatic recommendations will be suggested for use in maintaining C++ projects and rescoping the role of a C++ software engineer.

View Slides

Bret Brown

Software EngineerBloomberg

Bret likes making authoring and maintaining C++ codebases simpler and more intuitive by treating projects more like cattle and less like pets. He is especially interested in the software development lifecycle, development automation, modern build systems, packaging, code transformation, software governance, and code analysis.

Bret is currently an engineer in Bloomberg's developer experience department. He has worked in embedded C++ and safety critical C++ for previous employers.