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?

13
  • 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, 2023 at 19:33
  • 5
  • 5
    'app' is just a further contraction of 'application [program]', it hardly seems remarkable.
    – dave
    Jun 24, 2023 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, 2023 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, 2023 at 21:06

7 Answers 7

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.

8
  • 3
    Not all pieces of software are programs. There are also libraries that are open source projects, or sold as commercial products. Jun 25, 2023 at 12:43
  • 2
    @JohnDallman I would consider a library to be a program too. Jun 25, 2023 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, 2023 at 1: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. Jun 26, 2023 at 6: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. Jun 26, 2023 at 7:25
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.

15
  • 2
    Can we also talk about the change from 'programmer' to 'developer'? :-) Me, I'm a programmer. This is a developer.
    – dave
    Jun 24, 2023 at 21:17
  • 1
    @another-dave ROTFLOL. Well, yes. Though, many will no longer understand...
    – Raffzahn
    Jun 24, 2023 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. Jun 25, 2023 at 1:22
  • 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, 2023 at 7:49
  • 2
    @another-dave - ah, but this is a programmer
    – Basya
    Jun 27, 2023 at 17:00
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.

1
  • I would say there are "pieces of executable code" smaller than or orthogonal to programs, such as subroutines, functions, and libraries. Jul 3, 2023 at 3:29
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.

5
  • 1
    The term cmdlet, used in Powershell documentation, is worth mentioning as a derivative of applet. Jun 26, 2023 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, 2023 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, 2023 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, 2023 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. Jun 29, 2023 at 15:12
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.

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.)

-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.

5
  • 2
    So what about an Android APK that I install through an ADB link?
    – scruss
    Jul 1, 2023 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 1, 2023 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 2, 2023 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. Jul 2, 2023 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 2, 2023 at 13:27

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