Computer software, or just software, is a collection of
computer programs and related data that provide the
instructions for telling a computer what to do and how to do
In other words, software is a conceptual entity which is a
set of computer programs, procedures, and associated
documentation concerned with the operation of a data
processing system. We can also say software refers to one or
more computer programs and data held in the storage of the
computer for some purposes. In other words software is a set
of programs, procedures, algorithms and its documentation.
Program software performs the function of the program it
implements, either by directly providing instructions to the
computer hardware or by serving as input to another piece of
software. The term was coined to contrast to the old term
hardware (meaning physical devices). In contrast to
hardware, software is intangible, meaning it "cannot be
Software is also sometimes used in a more narrow sense,
meaning application software only. Sometimes the term
includes data that has not traditionally been associated
with computers, such as film, tapes, and records.
Examples of computer software
includes end-user applications of computers such as word
processors or video games, and ERP software for groups of
Middleware controls and
co-ordinates distributed systems.
define the syntax and semantics of computer programs. For
example, many mature banking applications were written in
the COBOL language, originally invented in 1959. Newer
applications are often written in more modern programming
includes operating systems, which govern computing
resources. Today large applications running on remote
machines such as Websites are considered to be system
software, because the end-user interface is generally
through a graphical user interface, such as a web browser.
Testware is software
for testing hardware or a software package.
Firmware is low-level
software often stored on electrically programmable memory
devices. Firmware is given its name because it is treated
like hardware and run ("executed") by other software
Shrinkware is the older
name given to consumer-purchased software, because it was
often sold in retail stores in a shrink-wrapped box.
Device drivers control
parts of computers such as disk drives, printers, CD
drives, or computer monitors.
Programming tools help
conduct computing tasks in any category listed above. For
programmers, these could be tools for debugging or reverse
engineering older legacy systems in order to check source