Keynote: Optimizing for Change
summary
Argues that change is the primary optimization goal and gives concrete techniques: prefer decltype auto for wrapper returns, use std::next/std::size and algorithms to reduce loci of edits, consolidate duplicated code (found five identical routines once), and favor small functions (mode ~6 statements). Shows a working variable template specialization pattern for global APIs (logging) and a concurrency-policy injection that turns interrupts into testable mutexes. Recommends verification via warnings, UBSan, CI, GUnit, and property-based testing (RapidCheck) instead of overusing the debugger.
AI-written summary · about
chapters (9)
- 0:00Introduction and background
- 4:57Optimizing for change defined
- 6:44Flexibility through small changes
- 27:03Malleability and reusability
- 39:18Decoupling math and IO
- 49:17Verification and testing strategies
- 1:04:05Testing challenges and solutions
- 1:14:38Checklists vs automation
- 1:22:18Conclusion and final thoughts
related talks
01h 03mKeynote: Abstraction Patterns
01h 51mProg C++
51mKeynote: There Is No Silver Bullet to Solve All C++ Software Problems
01h 01mEasy to Use, Hard to Misuse: Declarative Style in C++
01h 29m“Simplicity: Not Just For Beginners”
01h 22mKeynote: Growing Better Programmers
01h 01mSome Programming Myths Revisited
37mOpening keynote: Clear is better than clever
