16

When I started learning about computers in the mid nineties, all books used the word program to reference any executable that ran under MS-DOS (.exe, .com, .bat). Applications was a math concept, at least in French, like application injective, surjective, and bijective. Now I rarely hear it outside of the development community and most people and websites even Microsoft's refer to them as apps. So is there any differences between an application (app) and program Is there a reason for using that specific word?

RichF
  • 9,006
  • 4
  • 29
  • 55
user10191234
  • 1,945
  • 2
  • 8
  • 29
  • 31
    'application' is merely a contraction of 'application program', as distinct from 'system program' and 'utility program'. That is, we often find it useful to know what sort of program it is. This isn't so much a computer thing, more just how natural language gets used. – dave Jun 24 '23 at 19:33
  • 5
    See https://english.stackexchange.com/questions/251653/why-is-an-application-called-an-application – UncleBod Jun 24 '23 at 19:35
  • That link doesn't mention an app which arrived with the smart (ugh) phone. – Weather Vane Jun 24 '23 at 19:48
  • 5
    'app' is just a further contraction of 'application [program]', it hardly seems remarkable. – dave Jun 24 '23 at 19:53
  • 5
    'App' dates at least back to the 1980s -- GEM stored its programs (named *.APP) in a directory called GEMAPPS. The abbreviation may well have been forced by the DOS 8.3 filename limit rather than arising organically, but either way it resulted in 'App' being used to mean program. – john_e Jun 24 '23 at 21:04
  • 6
    I don't think "application" is a concept from maths, it a shortening of "computer application" - in other words, an application of the computer to a particular kind of problem or task. The notion that computers are "applied" to multiple purposes is something that predates the 90s I think. – Steve Jun 24 '23 at 21:06
  • 1
    @john_e and on the ST, also running GEM, the extension was .PRG... – Stephen Kitt Jun 25 '23 at 05:48
  • 1
    @StephenKitt ... and later .APP. If a GUI application is able to accept parameters, another known extension is .GTP for "GEM/GUI(?) takes parameter". – the busybee Jun 25 '23 at 07:52
  • The TRAX operating system for PDP-11, released in 1978, very definitely used the terms 'application' (and 'application program'). I don't recall regarding this as a 'new' usage at the time. – dave Jun 25 '23 at 18:58
  • These terms, program and application, are very broad or at least not very specific, and either could refer to a single executable file (as in let's copy this program to another folder or drive), or a running process (i.e. let's stop this program), or, a collection of executable files that run as more than one process, even on more than one machine, intended to work together to provide some offering. – Erik Eidt Jun 26 '23 at 00:53
  • In English the pre-computing senses of "application" were mostly the process of applying. Application of a bandage, job application, etc. It would also have a sense like "useful purpose" as in "applied maths" vs "pure maths". Apparently in maths it can be a synonym for "mapping", but that's surely unrelated to the software program sense. The software sense would come from the "useful purpose" sense. – hippietrail Jun 27 '23 at 03:08
  • 2
    In software catalogs I encountered in the '80s, "Applications" was a category distinct from "Utilities" and "Games". I don't think it became a general term for "all software" until much later. Personal experience, sorry no citations. – Alex R Jun 27 '23 at 15:54
  • 2
    The term 'Application' is to 'Program' the same as the term 'Folder' is to 'Directory'. That is, programs and directories are older terms used by DOS and contemporaries, and applications and folders are newer terms popularized by Apple with the Macintosh and subsequently adopted by Windows. – Glen Yates Jun 29 '23 at 21:56

7 Answers7

30

A Program is any piece of software. Note, however, that some restrict the use of the word to only include largely self-contained pieces of software and thus don't include libraries and similar code as programs.

An Application is a program that has an interface that the user directly interacts with. Applications also used to be contrasted with games, but that usage seems to have entirely fallen out of favour.

An App¹ was Apple’s marketing term for applications running on the iPhone and iPod Touch, but has since made its way back into common usage to refer to applications running on Windows, Linux, etc.


So all applications are programs, but not all programs are applications. Commonly encountered programs that are not applications include drivers and parts of the operating system.

Which word is used seems by normal users is largely a matter of fashion.


¹"App" was sometimes used prior to Apple's use of it - it's a natural enough shortening of Application after all - but that's how it entered into mainstream usage.

samh
  • 103
  • 1
Jack Aidley
  • 461
  • 3
  • 7
  • 3
    Not all pieces of software are programs. There are also libraries that are open source projects, or sold as commercial products. – John Dallman Jun 25 '23 at 12:43
  • 2
    @JohnDallman I would consider a library to be a program too. – Jack Aidley Jun 25 '23 at 14:16
  • 5
    A library is not itself a program as it cannot be executed as a self-contained unit. (That line is somewhat blurry, as the kind of thing that I would call a "program" is not truly self-contained but runs on top of an OS -- but there is still a useful distinction between a collection of code that must be called by a program to do anything vs. something executable directly at a terminal or similar interface. That line might still be blurry due to interpreted environments, but that's still a different kind of user.) – Miral Jun 26 '23 at 01:58
  • 2
    Do you include adjacent technical systems as "users", too? Working for 40+ years in embedded control, we always had "programs" and "applications" as synonyms, many of them self-contained (no OS), but no human interacts with them. In contrast, we never looked at libraries or even object files as "programs", though they are pieces of software. – the busybee Jun 26 '23 at 06:32
  • @Miral In my view, a program is simply a sequence of instructions to be executed in order. That's where the word originally comes from. However, your more restricted usage seems to be common enough that I've edited the answer to include it. – Jack Aidley Jun 26 '23 at 07:25
  • Not all applications require direct user interaction... APIs are often only consumed by other applications, and the 'A' in API... Also, programs have to be executable, I don't think many people would consider a library that just defines a bunch of classes but doesn't have any executable methods on it a program. – ScottishTapWater Jun 27 '23 at 15:48
  • You failed to explain what "app" means today in general. In my opinion Microsoft apps, Apple apps and Android apps they all come from some sort of "app store". See my answer. – zomega Jul 02 '23 at 10:48
  • @zomega: I don't think that is true. For example, the start menu on Windows 11 has a "all apps" option, it does not distinguish between those that come from stores and those that don't. – Jack Aidley Jul 02 '23 at 10:58
21

So is there any differences between an application (app) and program. Is there a reason for using that specific word.

No. They are interchangeable - at least in common, every day usage.

App is shortened from Application which in turn is short for Application Program

Now in a more specific context they are about point of view and do mark overlapping regions.

  • Program is rather a technical term tied to mean a distinct self-contained piece of software, which may stand on its own or be part of a larger construct.

  • Application on the other hand is more of a user-centric term, picturing a non-developer view of a tool to be used, independent of its implementation.

To illustrate, a word processor's components, like menu, merge or spellchecker are usually called programs not applications, despite being fully self-sufficient. In contrast the word processor as whole is seen (by users) as an application. Today often not even that but the whole office package.

But it is and might always be a blurry line and word choice depending on point of view and environment used in. This is even further true with the changed world we (developers) experienced over the last 40+ years - mainly turning from the majority of computer users into a being a very small minority.

Toby Speight
  • 1,611
  • 14
  • 31
Raffzahn
  • 222,541
  • 22
  • 631
  • 918
  • 2
    Can we also talk about the change from 'programmer' to 'developer'? :-) Me, I'm a programmer. This is a developer. – dave Jun 24 '23 at 21:17
  • @another-dave isn't that like comparing a musician with a promoter? IMO the distinction between program and application, is that the latter is aimed at achieving utility in a field unrelated to the computer itself. – Weather Vane Jun 24 '23 at 21:23
  • 1
    @another-dave ROTFLOL. Well, yes. Though, many will no longer understand... – Raffzahn Jun 24 '23 at 21:23
  • 3
    @another-dave Likewise we used to have problems, but now we have issues. I was in the USMC 45 years ago and "issue" was what you got from supply company. – Arthur Kalliokoski Jun 25 '23 at 01:22
  • While I broadly agree, I think that it started being used when programs started to have a significant GUI component i.e. from Windows, X11 or (as John_E points out in a comment) GEM. It must have been well-entrenched before it started being used by Android etc., because of "Java Applets", and might possibly imply that a complete /application/ included a /program/ plus various /resources/: font files and so on. – Mark Morgan Lloyd Jun 25 '23 at 07:27
  • 2
    @MarkMorganLloyd Well, then again, we already used the term Application around 1980 with /370 mainframes to distinguish from system software. Also, the term Applet itself was coined for partial/small applications/application parts which by all logic can only happen after application itself was already in use. Wouldn't it? – Raffzahn Jun 25 '23 at 07:49
  • 1
    @Raffzahn OK, the mainframe usage is obviously significant. It could have got into PC usage via CUA, except again I John_E's mention of .app for GEM is interesting since I think this long preceded CUA guidelines. – Mark Morgan Lloyd Jun 25 '23 at 07:55
  • 1
    @another-dave When asked, my peers and me commonly look at programmers as "simple-minded people only able to type source code" (code monkeys), and at developers as "creative and smart people able to invent and to unroll (develop!) the story to be coded." -- No offend. :-D -- Anyone remembering that "computers" used to be (female) humans executing the calculations? – the busybee Jun 25 '23 at 07:57
  • @MarkMorganLloyd yes - including his remark about being forced by 8.3 convention. Also, IIRC it was only used on PCs and essentially the same as an EXE file. Using APP in turn rather shows that Application was, at the time, widely understood to be kinda equivalent to program. – Raffzahn Jun 25 '23 at 08:11
  • 1
    @thebusybee - I have the opposite view. A 'developer' is someone processing 'stories' from a process-management system like Jira; developers do what they're told. Edsger Dijkstra was a programmer. – dave Jun 25 '23 at 12:30
  • The .app extension was also used in NeXTSTEP from 1989 (where the 8.3 limitation didn't apply), and carried through into OS X. In that case, what appeared in the file manager to be a single .app file was actually a filesystem directory containing the underlying executable and any extra resource files. – john_e Jun 25 '23 at 21:55
  • 1
    @another-dave I hate "software engineer" worse than both, for various reasons. – user253751 Jun 26 '23 at 15:01
  • 1
    @user253751 - I loathe "Software Engineer" too, probably for similar reasons, though I've allegedly had those words (or else "Architect", which may be worse still) in my official job title for my entire career. On my town's annual census, I am a "Software Craftsman". – dave Jun 26 '23 at 16:44
  • 1
    But back to the topic - I think IBM was being unusually candid when it referred to non-system programs as "problem programs". – dave Jun 26 '23 at 16:47
  • 2
    @another-dave - ah, but this is a programmer – Basya Jun 27 '23 at 17:00
3

There is one other wrinkle to classifications of software people (used to) use -- the applet. This was a term used for a Java program that ran in a restricted-access sandbox, such as a web browser. One such restriction was that it could not open a local file except for self-contained data files. It could also read and write cookies, using a strict cookie-access protocol If ran standalone, it would be outside of the sandbox and considered a normal program or app.

Unfortunately (IMO) Java was removed from browsers due to alleged security concerns. Maybe some of the claims were legit, but Sun and later Oracle quickly fixed reported problems.

Anyway, applets are just a footnote of history, like a Betamax.

/added 26 June 23: Based on comments, I thought showing a historical usage overview of 'applet' would be instructive. I included 'widget' just as another not-commonplace tech term for comparison. applet NGram link to interactive NGram

Clearly the word 'applet' is still around, but not anywhere near as common as when browsers hosted them. BTW, I first tried using 'app' instead of 'widget', but it is so common, it drowned out applet almost completely.

RichF
  • 9,006
  • 4
  • 29
  • 55
  • 1
    The term cmdlet, used in Powershell documentation, is worth mentioning as a derivative of applet. – Walter Mitty Jun 26 '23 at 10:26
  • Applets very much exist - they just aren't called that. For example when you right-click something in Windows Explorer and there's an extra option in the context menu (I'm a fan of "Open with HxD") that option could be considered an applet (little application). – user253751 Jun 26 '23 at 15:04
  • 2
    "Applet" is also used to describe an individual entry in the Windows control panel, usually implemented as a DLL on which CONTROL.EXE would call methods to display its user interface. The architecture came into being with Windows 3.0 in 1990, but I don't know whether the name "applet" was applied to the DLLs at that time. – john_e Jun 26 '23 at 15:58
  • 2
    The name "applet" was definitely used for the Windows 3.0 control panel items -- the .CPL files that implemented them were actually DLL files that exported a single function named CPlApplet. By handling a number of messages passed in by the containing application (not necessarily CONTROL.EXE!) they could create and manage multiple applet icons and windows. – Philip Jun 27 '23 at 14:30
  • These .cpl "applets" would be the counterparts of "desk accessories" on the original macOS up until OS 9. Their raison d'etre was to provide some the most basic multitasking support. Basically you could use the calculator or similar while a real app was also running. On the Mac they were implemented as drivers. – hippietrail Jun 29 '23 at 15:12
3

In common parlance, the terms are essentially synonymous now. However, if you want to take a stricter approach:

A program is any piece of executable code.

An application is a program that is concerned with something other than running the computer itself. So, a word processor would be an application but your CPU scheduler wouldn't be.


I strongly disagree with this answer, an application absolutely doesn't require a user to directly interact with it. For instance, web services are applications, one could easily have a web service that does nothing but scrape Reddit for memes and repost them on Twitter, with no user interaction required.

  • I would say there are "pieces of executable code" smaller than or orthogonal to programs, such as subroutines, functions, and libraries. – hippietrail Jul 03 '23 at 03:29
2

Studying the origins of the words may give some insight: in the pre-computer era a program(me) was a sequence of events, typically ordered by time, such as for a musical concert or for a loom weaving socks. An application was, and still is, a use for some kind of resource. So the difference in meaning comes down to ‘what purpose does it serve’ vs ‘how does it work’ and the usage or one term or the other might be taken as an indication of the speaker’s line of thinking.

Frog
  • 1,385
  • 4
  • 7
0

I have had the same struggle when I started seeing the word "app" used for what looked like all programs. I think that Jack Aidley's answers is correct in regard to

An App was Apple’s marketing term for applications running on the iPhone and iPod Touch [...]

I recall that it started to grow around that time. As mentioned by others, the word application was already used. It is just that a marketing trick made the abbreviation of that word much more popular and kind of wiped our the word program in the process. Just like a movie (Hasta la vista, baby) or a TV series (Meh) would make some word or expression more popular.

However, I wanted to chime in for the mathematical usage you present. This is only in French. The correct English translation would be to use the verb "apply", although specifically, in mathematics, those are called functions:

(i.e. the word application for some of the French meanings are false friends in English.)

Alexis Wilke
  • 845
  • 1
  • 4
  • 11
-4

An app is always downloaded through an app store. Yes, it's as simple as that. That is why it's called app store. (I mean app store in general and not Apple's app store.)

While you can get a program from everywhere (a website or CD for example).

On Windows you can get many apps/programs from either the Microsoft Store or the website of the creator.

For example if you download Adobe Reader from the Microsoft Store it's an app and if you download it from adobe.com it's a program.

So if you use the short form app it's always from some kind of app store.

But if you use the long form application I think most people use it synonymously to program. (While there might be a different.)

Other characteristics of apps:

It should also be said that apps (often but not always) ask for permission before accessing resources like camera or personal data. It depends on whether the OS supports permission requesting.

An app store is typically connected to a package manager. The package manager can update installed apps to a newer version. That's very comfortable for an app developer. While the developer of a classical program needs to implement his own update mechanism (if there is no package manager on the OS).

Android:

On Android there is a slightly different definition of what an app is. Most apps can be downloaded from the app store (e.g. Google Play Store, Samsung Galaxy Store). So my definition applies to 99% of all apps. However there can be system apps for example which do not exist on any app store. So in fact every installed package on Android can be called an app. Those can be listed by pm list packages.

zomega
  • 5,362
  • 4
  • 25
  • 52
  • 2
    So what about an Android APK that I install through an ADB link? – scruss Jul 01 '23 at 16:23
  • 3
    The claim that 'apps come only from an app store' does not accord with actual practice. In my experience, people use 'app' as an abbreviation for 'application', no more, no less. – dave Jul 01 '23 at 19:27
  • @another-dave Everyone says "I got apps on my smartphone.". No-one uses the long form "application" in this context. It's a difference. Also nobody would call Microsoft Word 2016 an app. But you can call it an application or program. – zomega Jul 02 '23 at 10:33
  • 1
    Microsoft literally refer to Word as an app in the latest version of Windows. I think there was a brief time when the distinction you refer to would have broadly correctly but it is no longer the case. – Jack Aidley Jul 02 '23 at 10:59
  • 1
    I write middleware for collections of computers that live in air-conditioned rooms. Stuff written by our customers is conversationally referred to as 'their app'. – dave Jul 02 '23 at 13:27