2 ms·
This could be easily explained using an analogy like a pipe. If you need to connect a hose to your house, the connector (interface) needs to match the spigot si
by orev 6y ago
This could be easily explained using an analogy like a pipe. If you need to connect a hose to your house, the connector (interface) needs to match the spigot size and threads. The API is simply the information about the size and thread measurement, along with the knowledge that you can get water out of it when you turn the handle. Having this knowledge and building compatible hoses or spigots doesn’t mean you have stolen anything from the company who made the original spigot.
I could easily come up with dozens of analogies that explain this concept in terms understandable by senior citizens, and it’s inexcusable that this lawyer can’t do the same.
- babesh 6y agoThat is a terrible analogy since the potential conceptual range of APIs is so wide and because it does disservice to the conceptual power of APIs. Good APIs embody the key architectural and conceptual decisions. They define the key concepts and how they interact. But at the level of a programming language, this is of immense scope and power. Java defines an imperative language with built in garbage collection with abstraction from physical hardware. Furthermore, the real distinction between API and implementation is that API are that which needs to be exposed to the world. Programming languages are more akin to defining the fundamental laws of a universe. Physics to chemistry. It is true that other APIs are of much smaller scope but the point is that the range is so wide.
- ummonk 6y agoIt's actually a great analogy in that respect, as there are substantial tradeoffs involved in the design of pipe connector types, and the design of a particular connection / thread standard embodies key architectural and conceptual decisions.
- babesh 6y agoThe post only commented on size and thread. There is far, far more than that. Also some connectors are patented for what it is worth.