12
\$\begingroup\$

The taginfo for describes what an Application Programming Interface is, but doesn't give any guidance as to what kind of question it applies to.

Given that the majority of code here is at application level, almost all of it uses some API or another (for example, the standard C API, or the Java Beans API), and it would be unhelpful to tag all these with .

I can see that the tag might be useful for code which exposes functionality by providing an API for programs to use, and where that API itself is a large part of the review, but the existing questions don't seem to match my expectation. A lot of them are about interacting with network services of one sort or another.

Could someone who knows what questions is actually for please edit it (or explain here) to give some guidance for which questions it should be applied to?

\$\endgroup\$
  • \$\begingroup\$ IMO the content of that tag-info should be replaced completely, since it's currently a copy-paste of a Wiki article. There's a policy against that (somewhere). Do you want to (re-)define the scope of the tag or want to know what the author of the tag had in mind? If the latter, ask him. He's still around every once in a while. \$\endgroup\$ – Mast Dec 5 '18 at 11:00
  • 1
    \$\begingroup\$ I'd like to know what the community consensus is. If there's a known original meaning, then that's useful input (but is unlikely to be the last word). More than anything, I'd like to avoid having a tag that has wildly varying interpretations, as that doesn't serve the site well. \$\endgroup\$ – Toby Speight Dec 5 '18 at 11:45
  • \$\begingroup\$ Fully agree with you there. IMO the tag should only be used when writing an API (as in, the question posted contains code that is an actual API or part of providing it, not merely using one from a third party), but I don't know enough about it's origin to say what it's supposed to be used for. \$\endgroup\$ – Mast Dec 5 '18 at 11:59
  • 1
    \$\begingroup\$ Looking from the oldest questions, the oldest was about writing an API, but came from SO. The second oldest was also about writing an API. To crosscheck if some of them were added later, the oldest activity was done to this question which was already tagged with 'api'. \$\endgroup\$ – Andrew T. Dec 6 '18 at 3:25
  • 1
    \$\begingroup\$ "A lot of them are about interacting with network services of one sort or another." This is an unfortunate recent development in computing where the term API is being co-opted to mean specifically a REST API. This use of API has infected many parts of SE, unfortunately. As someone who develops a non-network-related API, it's pretty annoying. \$\endgroup\$ – user1118321 Dec 7 '18 at 4:08
3
\$\begingroup\$

Lacking answers, I've suggested an edit to the tag to clarify its intended usage (code that implements and/or wraps an API, not code that uses one). Feel free to improve it further along those lines.

Allowing the tag to be used on any question containing code that simply talks to an API would make the tag way, way too broad. It would include just about anything talking to a web service and then some. So the next best thing is to limit its scope.

Good fit:

  • Implemeting API
  • Wrapping existing API

Bad fit:

  • Any code that just happens to talk to an API but doesn't implement a new one or a wrapper for one

Feel free to start browsing through questions currently tagged with and re-tag them. As usual, preferably not 20 at a time and make sure to give the question a good, critical look now we're at them anyway.

There are over 400 questions with the tag, but most of them aren't inappropriately tagged. So this won't have to take long.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .