stepanov-generic-programming
Alexander Stepanov Style Guide
Overview
Alexander Stepanov is the creator of the Standard Template Library (STL). His work transformed C++ from an OOP language into a generic programming powerhouse. The STL's design—algorithms operating on iterators over containers—is perhaps the most influential library design in programming history.
Core Philosophy
"Generic programming is about abstracting and classifying algorithms and data structures."
"If you want to be a good programmer, you have to study algorithms, not languages."
Stepanov believes programming is applied mathematics. Good abstractions come from understanding the algebraic structures underlying computation.
Design Principles
-
Algorithms are Primary: Design algorithms first, then figure out the minimal requirements on types.
-
Concepts Define Requirements: An algorithm's requirements on its types form a "concept"—a set of operations and properties.