Earlier quoted context omitted.
> Nothing in life comes free: everything, including all abstractions, comes at some cost. Yes. As a slogan, it is imprecise. But it's always been talking about a very specific kind of cost: runtime costs. You're 100% right about there always being some kind of cost, but the slogan doesn't disagree with you. (Some prefer "zero-overhead principle" instead to make this a bit more clear.)
(1) I love your writing. (2) Even reducing it to runtime costs, it seems a bit nonsensical. Are C++ exceptions a zero cost abstraction? All the googlers I argued with about them would insist that they have unacceptably high runtime costs. OK, but templates are surely zero (runtime) cost abstractions, right? Unless you start to worry about duplicate code blowing out your instruction cache but if that's a problem, no p…
2. The other reply is right. Zero cost compared to the best possible implementation.