<programming, operating system> (Or "application", "app") A complete, self-contained program that performs a specific function directly for the user. This is in contrast to system software such as the operating system kernel, server processes, libraries which exists to support application programs and utility programs.
Editors for various kinds of documents, spreadsheets, and text formatters are common examples of applications. Network applications include clients such as those for FTP, electronic mail, telnet and WWW.
The term is used fairly loosely, for instance, some might say that a client and server together form a distributed application, others might argue that editors and compilers were not applications but utility programs for building applications.
One distinction between an application program and the operating system is that applications always run in user mode (or "non-privileged mode"), while operating systems and related utilities may run in supervisor mode (or "privileged mode").
The term may also be used to distinguish programs which communicate via a graphical user interface from those which are executed from the command line.
Nearby terms: application layer « application lifecycle management « Application Portability Architecture « application program » Application Program Interface » Application Programming Interface » Application Protocol Data Unit