3 ms·
> It's a programming abstraction, to create your own "implementation" of the API you still have to use code that is identical to original. Not if you think of
by j1vms 10y ago
> It's a programming abstraction, to create your own "implementation" of the API you still have to use code that is identical to original.
Not if you think of it like this really rough analogy: if the software product is a closed box, the API is the different configuration of holes cut in the box, and the code is whatever is inside the box. So you can imagine that boxes, despite being cut with identical holes, could hold different things within.
Going a bit deeper would be to consider that software with identical API, and different implementations may have different run-time characteristics between them. That is, the same API call in one implementation may take twice as long to execute than in another implementation. Further, depending on how explicit/rigid the API spec is, a call in one implementation could have some "out-of-band" behavior (e.g. affect another software system unbeknownst to the calling routine; or every API call may be logged in one implementation, but not logged in another).