Designing C++ Code Generator Guardrails: A Collaboration Among Outreach & Development Teams & Users
Talkat CppCon 2024 · on Tuesday, 2024-09-17· at 16:45· Spruce 3/4, 6700 North Gaylord Rockies Boulevard·
summary
Two teams spend two years adding concrete guardrails to Bloomberg’s 18‑year‑old C++ code generator: they change generation patterns, add directed CMake modules, introduce validator rules and clearer docs, and make codec selection a compile-time codec choice so the linker discards unused encodings. The work limits client libraries to single codecs, removes a size‑doubling flag, and fixes debug stripping. The result touches thousands of projects — ~6,000 generated libraries and ~17,000 dependents — and frees months of build headroom.
AI-written summary · about
chapters (11)
- 0:00Introduction to the project
- 1:15The challenge of code growth
- 4:32History of Bloomberg architecture
- 8:50Tooling and library bloat
- 11:46Collaborative outreach strategy
- 15:01Standardizing with CMake
- 17:25Technical optimizations
- 30:59Defining library guardrails
- 35:12Refining debugging and support
- 39:27Results and community impact
- 45:53Q&A and concluding remarks
related talks
56mMaking C++ Code Beautiful
19mMinimising Complexity
36m”Code is a Material”
59mBattle of Codegen Tools from Design System Developers
01h 28mLaw of Demeter: A Practical Guide to Loose Coupling
01h 31mCreating intuitive APIs
56mBuilding My Own Clojure Tools
57mIntentional Code - Minimalism in a World of Dogmatic Design
