4 ms·
To me the best explanation of an Application Programming Interface (spelling it out on purpose) is really the comparison with industrial machinery. It's really
by jgilias 6y ago
To me the best explanation of an Application Programming Interface (spelling it out on purpose) is really the comparison with industrial machinery. It's really the switches, knobs and levers of a machine that you use to make it do something. I get it that an API being textual throws non-technical people off. But for a programmer functionally there's not much difference between a physical object, like a steering wheel, and some API call to invoke. They are both just something you use to interact with the underlying system. Hence the term.
It's sort of perplexing that Google would send someone who can't explain this point of view well.
- ummonk 6y agoExactly. It would be like a company copyrighting the shape of its proprietary replacement parts, and then suing another company for providing 3rd party replacement parts.
- AnimalMuppet 6y agoTo me, it's more like copyrighting the control placement in a car. Nobody else can use accelerator on the right, brake on the left? What's that going to do to drivers? That's Google's argument.
- salawat 6y agoThey did. In legal parlance, that's a method-of-operation, and the relevant case law was Seldon(?). In which someone wrote a book on double entry accounting, then sued someone for infringement of their forms. The process of using a two column form couldn't be copyrighted, since that would essentially be a patent, and the Court determined a book teaching you how to do a thing implicitly grants license to do so without jeopardy of infringement. API's represent the documentation and actuators to make a machine do it's thing, therefore, both by test of "is it a control or thing allowing one to control another thing?" (Method-of-operation in common parlance) or "is it a communicative work teaching you to how to operate a specific process?" It passes muster. I thought that was rather straightforward. What wasn't straightforward to me was Oracle trying to argue that somehow, it makes sense that everyone should be forced to write their own language runtimes, and that somehow you can separate Java the language and virtual machine from the entity hierarchy, or that that is even a tenable state of affairs. Goldstein should have been slamming the "in Java" point hard. Further, why was no one arguing that programming languages themselves are the front-end manifestations of interoperability by converting high level linguistics down to machine code? This isn't hard.