Application Program Interface or Application Programming Interface? It seems to be about 50/50 out there. I'd like to hear what anyone has to say about the semantic difference (if any) between the two.
I would say "application programming interface", because it's an interface for doing application programming (as opposed to systems programming, for instance, although since kernels have APIs, it's clearly strayed a bit from its original meaning). "Application program interface" would be an interface for application programs, and "application program" strikes me as redundant -- an application (in this context) is always a program, but programming is not always application programming.