Services hosted over the internet that let you make requests are a special case of "API" as far as I am concerned. System libraries and third party libraries are the most widely used kind of API, and it's not even close.
Services hosted over the internet that let you make requests are a special case of "API" as far as I am concerned. System libraries and third party libraries are the most widely used kind of API, and it's not even close.
That bugs me too. lol. I have included in interviews as more of a fun question and conversation on what is an API.
Your answer gets full points. Partial credit for knowing what the initialism stands for, and having some valid explanation in the context of HTTP.
As another example, one of my internships involved development of software patches so that the company's software could interact with various electron microscopes via their proprietary APIs.
Obviously, terminology does evolve over time. The word "hat", for example, has a default meaning of "baseball hat", even though the default meaning was something else decades / centuries ago. Baseball hats are by far the most common kind of hat, so it makes sense for the to be the default.
This is not at all what is happening in the case of "API", which is why it annoys me. Hardware APIs and library APIs dwarf the use of REST APIs. But web developers have this tendency to think that what they do is the only thing that is relevant. Therefore, they think API == REST.
It is like if a bitcoin advocate used the term "coin" to refer only to bitcoin, and "metal coin" to refer to regular coins. They want bitcoin to be the default meaning of "coin", but it isn't and it causes confusion in regular conversation.
I am sick of people conflating "Programming" with "Programmable". The interface isn't programmable, it exists to program applications.
So there.