Computer software, or just
software, is a collection of
computer programs and related
data that provides the instructions for telling a
computer
what to do and how to do it. 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 concerned with the operation of a data processing system. 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 "cannot be touched".
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.
History
The first theory about software was proposed by
Alan Turing in his 1935 essay
Computable numbers with an application to the Entscheidungsproblem (Decision problem).
The term "software" was first used in print by
John W. Tukey in 1958.
Colloquially, the term is often used to mean application software. In computer science and
software engineering, software is all
information processed by
computer system, programs and
data.
The academic fields studying software are
computer science and
software engineering.
The history of computer software is most often traced back to the first
software bug in 1946
.
As more and more programs enter the realm of firmware, and the hardware
itself becomes smaller, cheaper and faster as predicted by
Moore's law,
elements of computing first considered to be software, join the ranks
of hardware.