* API = named idea.
The idea "Play Dead". You can't
copyright this idea.
That sounds more like a design element.
There's no interface yet, and API stands for Application Program
Interface.
* API name and syntax = the interface
between humans and computers. The name and syntax are functional and fixed
because computers are absolutely literal.
This is the interface.
You said it yourself. This is the API. It's a linguistic element. Name and
syntax. Just like the built-in elements of an actual (uncopyrightable) computer
language.
Note that the idea is actually completely separate from the
API. You can (and I have) replace(d) the code behind an API with something
completely different, to get different behavior from a program that uses a
particular API. It's not something done often or lightly (since it's likely to
break things), but it's quite possible. More common is to replace an API with
something that still does what the idea promised, but also does something
else--a common debugging technique.
(Some programming languages allow
you to redefine parts of the actual language in a similar fashion. For example,
C and C++ have the #define directive, which can be used in this manner. But, as
with redefining the API, it's a risky thing to attempt, and may result in what
language standards call "undefined behavior". Still, the fact that you can
modify the language the same way you can modify an API shows that they are
similar concepts.)
You're pretty much dead on with the rest of your
definitions, though, except that, as I explained, the API is not actually linked
to the idea. But the specification does indeed try to link them, and,
barring bizarre hackage or outright evil, you can generally rely on link between
API and idea promised by the spec. (If you can't trust your libraries, you
might as well get out of programming.)
--- Do not meddle in the
affairs of Wizards, for it makes them soggy and hard to light. [ Reply to This | Parent | # ]
|