It’s more of a recent trend to call all software “applications” (or “apps”) irrespective of their utility. This is something Apple popularised on the iPhone.
As for the API naming conventions, Wikipedia describes the use of “Application” pretty well: https://en.wikipedia.org/wiki/Application_software#Metonymy
When I was younger, I wrote my own programs in GW-BASIC (and later QBASIC). I definitely remember calling them "programs" at the time. I taught myself programming from books in the school library (neither of my parents knew how to do it), and they definitely used the word "program" for what I was learning to write.
But while Pascal has a "PROGRAM" statement, most BASIC dialects (including Microsoft's) don't. COBOL doesn't have a "PROGRAM" statement either, although it does have an "EXIT PROGRAM" statement.
So I don't think whether something is called a "program" or not has anything to do with what language it is written in.
> But I don’t recall anyone calling individual executables anything other than exes on Windows.
Here's a software manual from 1993 – https://books.google.com/books?id=jAqUEgrLBa8C&pg=PA14 – you can see on that page the application is divided into a number of executables – "the core TS.EXE program" and a number of "General support utilities", one of which ("PRINTPCX.EXE") is described as "A program to print graphs". Although the other executables are not explicitly called "programs", it seems clear to me that "program" and "executable" are synonymous in the usage of the manual's authors.
That is admittedly an application for MS-DOS, not Windows. But I don't believe there were any great differences in terminology in this area between MS-DOS and Windows.
It was PROGRAM-ID in COBOL: https://en.wikipedia.org/wiki/COBOL#Hello,_world
> Here's a software manual from 1993 – https://books.google.com/books?id=jAqUEgrLBa8C&pg=PA14 – you can see on that page the application is divided into a number of executables – "the core TS.EXE program" and a number of "General support utilities", one of which ("PRINTPCX.EXE") is described as "A program to print graphs". Although the other executables are not explicitly called "programs", it seems clear to me that "program" and "executable" are synonymous in the usage of the manual's authors.
That's a utility and I'd already said "utilities" were a classification of programs. The GPs point wasn't about utilities though.
> That is admittedly an application for MS-DOS, not Windows. But I don't believe there were any great differences in terminology in this area between MS-DOS and Windows.
Anecdotally I remember all executables being talked about as "programs" in the DOS era -- which might also be a throwback to when all software was written as a complete program and all executables were commands (eg pre-dynamically linked libraries so shared libraries would either have to be their own command or compiled into the each executable).
But in fairness, terms like "program", "utility", "application" were, to some extent, rather fuzzy descriptions back then anyway. At least in the context of what we're describing anyway.
Microsoft obviously need a descriptive term (“software” and “program” does not work as a drop in replacement in all instances) and “application” is well suited. But that doesn’t mean that APIs (“application programming interface”) can’t be used by systems software, for example. It’s just “application” is a broad enough term to be the clearest term in most instances.
I should add, we are talking about the Win 3.x and possible very early 9x era. As time went on “application” did lose its specificity. An example of this is how progman.exe grouped software vs how the Start menu group software.
Now, the term "application" might have had a more specific meaning before Windows existed (even Windows 1 seem to use the term application) but this is going back decades before iPhone was introduced.
You’re right I did. Agh truth be told I don’t know when the shift happened (it all feels like ancient history these days) but I do remember people making a distinction between applications, utilities, games and systems software, which they don’t now. I even remember teaching material making that distinction (old enough to have been in Uni when GUI applications were just shifting away from novelty).
Also you keep saying that I’m missing your point about APIs but I’m not. My point is that Windows documentation isn’t a legal document and thus using the term “application” for stuff that could mean any software is perfectly valid. Even now many make a distinction between systems software and applications yet the contents in most of the reference material applies just as much to systems software as it does application software. This is what is meant by metonymic purposes of the term.
I mentioned Windows because it is the most likely to be known, but it also applies to other systems. For example the GEM installation manual[0] uses the term "application" to refer to non-system software and even seems to make the distinction between applications and programs where applications is the whole and program is a part of the application (notice in section 4 where it mentions that to install an application you use its installation program).
[0] http://www.bitsavers.org/pdf/digitalResearch/gem/GEM3/5125-2...
In any case, I've also said it was a bit of a fuzzy term and it feels like we're ostensibly arguing similar points.