Awesome API Design
summary
Shows concrete C and C++ examples: renaming malloc/mfree for symmetry, the std::vector empty vs clear confusion and a checked vs unchecked index design, and arguing for safe by default with not_discard annotations. Recommends a C ABI facade with an internal C++ party API (the Mullet) so binaries stay stable while implementation evolves, and a layered “Domain Burger” separating tech APIs from domain verbs. Emphasizes naming, parameter ordering, predictability, and fluid types with actionable changes to make existing APIs less surprising.
AI-written summary · about
chapters (9)
- 0:00API design principles
- 1:10Memory allocation API
- 5:50Consistency in API design
- 7:36Symmetry in APIs
- 10:25Type safety in APIs
- 13:57Interface design
- 15:02Mullet pattern
- 18:36Domain burger pattern
- 21:07Conclusion
related talks
47mAPI Design Principles
01h 06mGood API design
01h 36mThe Most Important API Design Guideline - No, It's Not That One
01h 18mAPI design: Lessons Learned
01h 28mFrom Template Metaprogramming to User Convenience - API Design Stories
56mEfficient and Reliable Wrapping of C APIs Using Modern C++
01h 06mGood API design
42mGood APIs don't need a tutorial
