Lakos’20: The “Dam” Book is Done!
summary
After twenty years of practice the book claims a concrete method for creating Large-Scale C++ Volume I that makes software reuse scalable: design physical hierarchies of .h/.cpp components, enforce hierarchical reuse and stability for vocabulary types, and ship component-level test drivers and contracts. A worked example translates exponential recursive layout into a memoized solution cache stored in a preallocated triangular packed array, showing dramatically reduced work and real-world savings that cross a multi-year break-even and let HTTP versions coexist without breaking clients.
AI-written summary · about
chapters (36)
- 0:00Introduction and welcome
- 0:29Book overview and motivation
- 1:31Trade-offs in software development
- 2:53Top-down vs bottom-up design
- 4:20Application vs library software
- 5:47Reusable components in practice
- 7:10Collaborative vs brittle software
- 8:56Hierarchical reuse principles
- 10:01Physical vs logical design
- 11:45Finely graduated granular software
- 12:52Classical vs hierarchical reuse
- 14:15Extending stable software
- 16:02Physical dependencies in systems
- 17:47Dependency inversion explained
- 19:54Physical design definitions
- 20:56Component structure and organization
- 23:02Users in interface vs implementation
- 24:47Component complexity levels
- 26:12Q&A on monolithic applications
- 28:20Analogy between text formatting and software
- 31:49Library component implementation
- 34:37Pseudo-code for recursive partitioning
- 36:22Scaling recursive solutions
- 37:47Memoization and dynamic programming
- 40:57Analogy to hierarchical software design
- 43:23Q&A on vocabulary types
- 45:33Software capital and time to market
- 48:44Reliability and performance standards
- 50:05Software capital as reusable parts
- 51:32Faster better cheaper design space
- 53:14Building and reusing software capital
- 54:59Upgrading protocols without breaking systems
- 55:42Long-term vision for software capital
- 57:30Q&A on reusable components
- 1:00:17SOA and hierarchical reuse
- 1:01:19Closing remarks and book promotion
related talks
01h 25mLakos'20: The "Dam" Book is Done!
01h 00mAdvanced Levelization Techniques (part 1 of 3)
59mC++ Modules and Large-Scale Development
01h 30mC++ Modules and Large-Scale Development
01h 02mAdvanced Levelization Techniques (part 2 of 3)
50mReusable C++ Code, Reusable C++ Data Structures
26mDon't Package Your Libraries, Write Packagable Libraries! (Part 2)
01h 28mModern C++ Design reloaded
