|
Authored by: Anonymous on Wednesday, April 25 2012 @ 08:41 PM EDT |
an API is an imaginary space between some other things that have some sort of
unknown accord about what it might be[ Reply to This | Parent | # ]
|
|
Authored by: BitOBear on Wednesday, April 25 2012 @ 09:30 PM EDT |
An API is everything you need to have, and everything you need to know, to get a
body of code you are working on to use another body of code that you are -not-
working on, without you having to go over and work on that other body of code.
Depending on how that API is provided you -may- receive compiler ready files or
you may not. You -may- receive documentation. You may just get a post-it note
with a half-legible scrawl on it telling you to look through some corporate wiki
for biblical-grade statements about only calling functions of certain names in
certain conditions and a single instruction on how to use a particular command
to suck the public symbols out of a compiled library binary.
API has no clear meaning and lots of potent half meanings.
I once received "an API" that told me exactly how to use a computer
service. It described in detail how to offer up pairs of names and values to
insert things into the system database and how to send that request, and how to
parse the response. But the thing didn't tell me what the names I could/should
actually use actually were. The names were -classified- as far as the provider
was concerned. So I could send "BOO=scary ghost" but if
"BOO" wasn't a valid name nothing would happen.
So, did I have an API or didn't I? I could write code to invoke it, but I
couldn't actually -use- it for anything.
We won the contract dispute because even though I was given "how"s and
a "when"s, I was given no "what"s so the API was not
-enough- -of- an API to allow us to meet our contractual requirements.
So it's what you need to have, and what you need to know, before you can do what
you need to do.
If that's not a pure concept I don't know what is.
[ Reply to This | Parent | # ]
|
|
Authored by: Ed L. on Wednesday, April 25 2012 @ 09:45 PM EDT |
Yes and no. I'd never considered it quite this way before myself, and wonder
just how many beers Mr. Bornstein shared with Mr. Van Nest prior to trial. (At
roughly $100 per, its a proposition to pique even
Michael Larabel's interest.)
But I kinda
like it. Explicitly makes an API language independent, so as others have noted,
Java may explicitly express and implement the exact same API's as C and C++ and
a raft of others. 'Specially those languages whose API's can expose a C
interface: Java can then trivially expose the exact same API through Jini, and
we all know exactly what they are talking about. Exactly Bornstein's point, I
guess.
Neat.
--- Real Programmers mangle their own memory. [ Reply to This | Parent | # ]
|
|
Authored by: Ian Al on Thursday, April 26 2012 @ 09:24 AM EDT |
A horizon is a boundary between the earth and the sky. You can express the
concept in words, you can define 'horizon' in a dictionary and place it in
alphabetical order. You can photograph it. You can devote a chapter to it in a
book about planet earth.
It remains a concept, even if you can take a photograph of it. It is an
interface or boundary that you cannot cross. It is not a concrete thing or
object.
The API is an agreement between programmer and library implementer on how the
programmer can use library functions in a program's source code. It can be
described, defined, classified and written up, but it cannot be photographed or
crossed because it is not even a boundary or interface between two things. There
is no boundary between the program source code and the function source code. The
compiler just links the resulting binary code together in a file.
Actually, machine code is just a bunch of electric symbols that cannot be
touched or even photographed, but for goodness sake don't tell anyone or we'll
get another rant from PoIR :-)
---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid![ Reply to This | Parent | # ]
|
|
|
|
|