Microsoft Store
 

Computer software


 

Computer software (or simply software) is essentially a computer program encoded in such a fashion that the program (the instruction set) contents can be changed with minimal effort. Computer software can have various functions such as controlling hardware, performing computations, communication with other software, human interaction, etc; all of which are prescribed in the program.

Relationship to hardware

Computer software is so called in contrast to computer hardware, which is the physical substrate which stores and executes (or "runs") the software.

Related Topics:
Computer - Computer hardware

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Software has historically been considered an intermediary between electronic hardware and data, which the hardware processes in some manner, according to instructions defined by the software. More specifically it has been considered to be a conceptual interface composed of a binary representation of electronics-readable code or logic. The purpose of software is to cause a task, process, or computation to be performed. A task can include the retrieval, storage, or display of information, or the transformation of data from one form to another.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

As computational science becomes increasingly complex, the distinction between software and data becomes less precise. Data has generally been considered to be either the output of or input for software (n.b. that "data" is not the only possible output or input; for example, configuration information can also be considered input, though not necessarily considered to be data). The output of a particular piece of software may be the input for another piece of software. Therefore, software may be considered to be an interface between hardware, data, or software.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

It is generally accepted that software interfaces with electronic devices, or electronics. The terms electronics recently can be defined to include devices which have biological components or biological interfaces. Instructions processed by an electronic device which cause a muscle to contract, for example, may be considered software. The instruction from the electronic device to the muscle may also be considered software because it is the output, a task, of electronics readable code or logic.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~