Keynote: The Tragedy of C++, Acts One & Two
summary
C++ claims to be flexible abstraction and efficient by definition while its specification balloons to about 1800 pages, with std::pair implementation swelling to ~502 lines. Tooling and libraries remain strong, yet integer overflow stays undefined and threading primitives encourage ad hoc parallelism so Photoshop grows from ~100 to ~2000 threads. A working Photoshop port compiles ~30 million lines of C++ to wasm/asm and runs in browsers, proving feasibility while exposing poor C++ networking and GPU portability gaps.
AI-written summary · about
chapters (37)
- 0:00Introduction and Adobe
- 2:22Keynote advice
- 5:35The state of C++
- 9:34Interoperability and standards
- 11:52The C++ community
- 15:10STL and value semantics
- 17:23Efficiency by definition
- 19:39The tragedy of C++
- 22:15Library complexity examples
- 25:07Compiler errors and legacy
- 27:57Correctness and contracts
- 30:56Standardization issues
- 33:55Defining safety
- 37:15Safety vs efficiency
- 40:05Integer overflow trade-offs
- 44:24Theoretical safety and sandboxing
- 47:30Hardware utilization
- 50:58Thread management challenges
- 53:12Vectorization and strength reduction
- 55:38Complexity and coordination
- 58:42Parallelism and synchronization
- 1:01:02High-level programming models
- 1:03:42The future of C++ standards
- 1:05:37Content ubiquity
- 1:07:21Photoshop on the web demo
- 1:10:55Wasm and networking challenges
- 1:14:27Data model requirements
- 1:16:26Unified models and lock-in
- 1:18:41Modern hardware challenges
- 1:20:26Industry churn and technical debt
- 1:23:52The path to better code
- 1:26:44Introduction to Val
- 1:29:00Safety discussions
- 1:32:32Compiler capabilities
- 1:33:43Performance vs safety trade-offs
- 1:37:11Safe code blocks
- 1:40:32Asserts and specifications
related talks
01h 11mKeynote: C++ Horizons
01h 28mKeynote: Safety, Security, Safety and C / C++ - C++ Evolution
57mKeynote: How To Address 7 Major C++ Pain Points with Tools
01h 04mKeynote: Learn Programming, then Learn how to Be a Programmer
01h 08mWindows, Macos & the Web: Lessons From Cross-Platform Development
01h 06mModern C and What We Can Learn From It
49mWindows, macOS & the Web: Lessons from Cross-platform Development at think-cell
04mLightning Talk: A Journey Back In Time - C++ Evolution
