software

<programming> Computer programs, as opposed to the computers on which they run (the "hardware").

Programs stored on non-volatile integrated circuits (e.g. ROM or PROM) are usually called firmware.

Software can be split roughly into two main types - system software and application software or programs. System software typically includes an operating system to control the execution of other programs; user environment software such as a command line interpreter, window system, desktop; tools for building other programs such as assemblers, compilers, linkers, libraries, interpreters, cross-reference generators, version control, make; debugging, profiling and monitoring tools; utility programs, e.g. for sorting, printing, and editting. Examples of application programs would include an accounts package or a CAD program.

Software includes both source code written by humans and executable machine code produced by assemblers or compilers. It does not usually include the data processed by programs unless this is in a format such as multimedia which depends on the use of computers for its presentation.

Some claim that documentation (both paper and electronic) is also software. Others go further and define software to be programs plus documentation though this does not correspond with common usage.

(05 Jan 1997)