Software

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. 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.

Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.

Read more about Software:  History, Types of Software, Design and Implementation, Industry and Organizations

Other articles related to "software":

Amstrad CPC - Software - Roland
... a number of games by Amstrad's in-house software publisher Amsoft have been tagged with the Roland name ...
Yamaha CS-80 - Software Emulations and Hardware Clones
... There are currently two plug-in instrument software emulations of the CS-80 in existence for usage in digital audio workstation, music sequencer, and other software which ...
Software - Industry and Organizations
... A great variety of software companies and programmers in the world comprise a software industry ... Software can be quite a profitable industry Bill Gates, the founder of Microsoft was the richest person in the world in 2009 largely by selling the Microsoft Windows and Microsoft Office ... The same goes for Larry Ellison, largely through his Oracle database software ...
ISCSI - Concepts - Initiator - Software Initiator
... A software initiator uses code to implement iSCSI ... Software initiators are available for most popular operating systems and are the most common method of deploying iSCSI ...