I'm not clear on your point #2. I'm trying to imagine a situation
where we have
an implementation [which needs an API] without having the
API
first/simultaneous.
Imagine you have a library but you don't
have the header file. You can't write code but you can run already compiled
programs. Then you have an implementation but you don't have the APIs.
The
library is not there to let you use the APIs. The compiled programs work just
fine without the header files. It is the other way round. You need the APIs to
use the library code in the programs you write. Without the API you can't even
write your program.
Of course the person who originally wrote the compiled
code had access to the API. But if copyrights deny you this access, new code
can't be written.
What I try to explain is the purpose of the implementation
is not to let you use the API. It is the other way round. Our goal is to run the
code at some point. The implementation is the code. It is the only thing you can
run. But the APIs are a choke point in our way to get there. We absolutely need
the APIs to *write* the code that uses the library.
[ Reply to This | Parent | # ]
|