Hacker News new | ask | show | jobs
by dahfizz 1377 days ago
Since this is an article about pedantry, I am sick of people conflating "API" with REST or HTTP. Applications had Programmable Interfaces before HTTP even existed.

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.

5 comments

> I am sick of people conflating "API" with REST or HTTP

That bugs me too. lol. I have included in interviews as more of a fun question and conversation on what is an API.

Agreed always bugged me too. We have both a .NET library and a web API product, and I still can't tell when customers refer to our API, whether they mean the library or the web API. It's another case where everybody has their own opinion/meaning for the same words/abbreviations. But originally, API started off as the "Application Programming Interface" and then was hijacked by the web hype.
"What is an API?" is one of my favorite interview questions.

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.

Can you steelman allowing terminology to evolve and allowing new forms to be the assumed/default meaning? Also, context matters a lot. It's rarely ambiguous if we're talking about networking or libraries. When they overlap in conversation you'd need to clarify anyway.
> Can you steelman allowing terminology to evolve and allowing new forms to be the assumed/default meaning?

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 "API" with REST or HTTP. Applications had Programmable Interfaces before HTTP even existed.

I am sick of people conflating "Programming" with "Programmable". The interface isn't programmable, it exists to program applications.

So there.