8 ms·
“Program” can refer to executables if you’re talking in the context of old programming languages such as Pascal and COBOL as they’d literally have a “Program” s
by laumars 6y ago
“Program” can refer to executables if you’re talking in the context of old programming languages such as Pascal and COBOL as they’d literally have a “Program” statement. But I don’t recall anyone calling individual executables anything other than exes on Windows.
As for the API naming conventions, Wikipedia describes the use of “Application” pretty well: https://en.wikipedia.org/wiki/Application_software#Metonymy https://en.wikipedia.org/wiki/Application_software#Metonymy
- skissane 6y ago> “Program” can refer to executables if you’re talking in the context of old programming languages such as Pascal and COBOL as they’d literally have a “Program” statement. 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 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.
- laumars 6y ago> 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. It was PROGRAM-ID in COBOL: https://en.wikipedia.org/wiki/COBOL#Hello,_world https://en.wikipedia.org/wiki/COBOL#Hello,_world > Here's a software manual from 1993 – https://books.google.com/books?id=jAqUEgrLBa8C&pg=PA14 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.
- badsectoracula 6y agoI wasn't referring to API, but to the fact that the Windows SDK uses the term "applications", e.g. "needed to write applications for Windows® 95 and Windows NT". They use the term "application" everywhere in the documentation, not just in the context of APIs.
- laumars 6y agoIndeed but what you’re describing there is just more examples of metonymies like I’d already discussed in my previous post. 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.
- badsectoracula 6y agoYou originally wrote that applications were a subset of programs and this changed because of iPhone, which as i wrote is wrong since the term "application" was used to refer to programs way before iPhone even existed - using Windows 3.1 as an example of something from 1990 that used that term. With the quote i was referring to the use of the term "application" not the "API". The SDK help file uses the term "application" everywhere to describe software for Windows without making any distinction like the one you wrote in that message above. 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.
- laumars 6y ago> You originally wrote that applications were a subset of programs and this changed because of iPhone 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.