Software Engineering Is About Tradeoffs
summary
Software architecture focuses on concrete tradeoffs: C++ std::variant chooses no allocations and only basic exception safety, which leads to a possible valueless-by-exception state — 72% voted for that tradeoff in a live poll. The mp-units library prototypes three naming APIs (dimension aliases, unit aliases, references plus UDLs), with unit aliases leading at 56%. A doncasting facility that maps computed dimensions to user types risks ODR mismatches; poll splits 40% keep, 30/30 for stricter compile errors or manual types.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 1:10Art of Software Design
- 4:10Exception Safety
- 7:50Exceptions Safety Guaranteed
- 10:20Standard Library
- 11:40Variant
- 13:25Side Effects
- 15:30Boost Variant
- 17:15Variant Solution 1
- 21:45MPUnits
- 22:00Quantities
- 22:40Class Template
- 23:30Alias Template
- 26:00UnitSpecific Assets
- 26:55UnitSpecific Code
- 28:00Alias Templates
- 28:55Named Unit Needs
- 30:45Slower to compile
- 32:15Literals
- 34:15Disadvantages
- 35:40Source No 1
- 36:30Comparison
- 39:25Donecasting
- 41:55One definition rule
- 47:35Domestic Facility
- 49:05Unknown Dimension
- 51:15First Solution
- 52:55Poll
- 55:05Conclusion
related talks
59mSoftware Engineering Is About Tradeoffs
46mThoughtful Software Engineering
01h 29mWhat Does It Take to Implement the C++ Standard Library?
50mSoftware Is Details
01h 05mA C++ Approach to Physical Units
33mFrom Enterprise Architecture to Software Design - Critical Thinking
55m“Using Types Effectively"
01h 30mEnhancing Safety in C++ Code With Modern C++ Quantities and Units Library
