|
Authored by: Anonymous on Wednesday, May 30 2012 @ 05:33 PM EDT |
An ABI is an API that happens to be for machine-level
language (binary). It's a specialized API.
APIs do not have the constraint of being about just one
flavor of languages (the ones that machines can directly act
upon).
"Machines", however, need not betransistor-and-such
arrangements; they can be virtual, like a JVM.
In the case of Java API/ABIs thus, APIs may use English-
language-familiar names in some publications and Esperanto-
language-familiar names in other; but ABIs are constrained
to use only the terms that will be directly acted upon ny
the JVM. Much of the time, this means binary (bytecode);
some of the time, it means character strings. But these are
still acted upon directly by the JVM (e.g. when running the
Classloader).
Copyrights should apply to both or to neither. If they
apply to both, Heaven help us. You'd need a license not
only to write, but to run anything since your own executable
code must use the ABI.
Right?[ Reply to This | Parent | # ]
|
|
Authored by: xtifr on Wednesday, May 30 2012 @ 06:26 PM EDT |
Source-level interfaces are definitely APIs, but other types of
interfaces (including binary interfaces) are sometimes called APIs
too.
There's two reasons for that. One: an ABI may function
as an API, but, as I argue in my reply to the anonymous poster above,
there's still an important conceptual distinction--it's never both at the same
time. Two: some people are just sloppy about terminology. :)
--- Do
not meddle in the affairs of Wizards, for it makes them soggy and hard to light. [ Reply to This | Parent | # ]
|
|
|
|
|