Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Sponsor by The Tattoo Collection
Computer software
Main Page | See live article | Alphabetical index

Computer software

Computer software (or simply software) is a collection of programs and data held in the storage of a computer for some purpose. Software can implement a computer program; such 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. On the other hand, software sometimes consists only of data purely for the use of other software.

The term "software" was first used in this sense by John W. Tukey in 1957. Software is often contrasted with hardware, which is the physical substrate on which software exists.

Any modern general purpose computer (as opposed to an embedded system) has a number of layers of software performing a variety of tasks. These are often divided into two major categories:

  1. system software, which includes the basic input-output system (often described as firmware rather than software), device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment), and
  2. application software, which allows a user to accomplish one or more specific tasks.

Colloquially, the words program and software are often used interchangeably to mean application software.

In computer science and software engineering, computer software is all information processed by computer system, programss and data.

For other uses of the word software see Software (disambiguation).

Table of contents
1 Software in operation
2 Software creation
3 Software patents
4 Related articles
5 External links

Software in operation

Computer software has to be "loaded" into the computer's storage (or memory).

Once the software is loaded, the computer is able to operate. Computers operate by executing the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation -- moving data, carrying out a computation, or altering the flow of instructions.

Software creation

Software is created with programming languages and related utilities, which may come in several of the above forms: single programs like script interpreterss, packages containing a compiler, linker, and other tools; and large suites (often called Integrated Development Environments) that include editors, debuggers, and other tools for multiple languages.

Software patents

The issue of software patents is very controversial, since while patents protect the ideas of "inventors", they are widely believed to hinder software development.

Related articles

External links