Overview
Explore a deep dive into Stripe's journey of generating API libraries across seven programming languages in this 30-minute Strange Loop Conference talk. Learn about the transition from manual maintenance to automated generation, the development of a custom compiler-like tool, and the challenges faced in preserving user experience and code readability. Discover the advantages and limitations of template-based approaches, understand the compiler approach's benefits, and gain insights into syntax trees, transformations, and algebraic data types. Examine case analyses, artisanal overrides, and their implications for web backend development. Gain valuable lessons from Stripe's experience in creating machine-generated API libraries that maintain quality and minimize breaking changes.
Syllabus
Introduction
Stripes API
Maintaining libraries manually
Why we generated our libraries
Demo
Gouda
Template approach
Template example
Advantages of templates
Limitations of templates
The compiler approach
Converting a template into a compiler
Example code
Sequential logic
Template string interpolation
Template types
Syntax
Syntax Tree
What do we gain
Snapshot testing
Transformations
Data
Open API
Case analysis
Algebraic data types
Example
Artisanal
overrides
types of overrides
conclusion
web backend
strangeloop
contact information
Taught by
Strange Loop Conference