Computer software (or simply software) is the programs and procedures that enable a computer to perform a specific task, as opposed to the physical components of the system (hardware). This includes application software such as a word processor, which enables a user to perform a task, and system software such as an operating system, which enables other software to run properly, by interfacing with hardware and with other software.
The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. The concept of reading different sequences of instructions into the memory of a device to control computations was invented by Charles Babbage as part of his difference engine. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem. [Hally, Mike (2005:79). Electronic brains/Stories from the dawn of the computer age. British Broadcasting Corporation and Granta Books, London. ISBN 1-86-207663-4.]
Relationship to hardware
Computer software is so called in contrast to
computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. In computers, software is loaded into
RAM and executed in the
central processing unit. At the lowest level, software consists of a
machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions (
object code), which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is generally 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.
More on
[ Computer software ]
Software - Twitter SearchNetbook YeeLoong â100% open sourceâ em exibição na CES http://migre.me/fPYY (Software Livre=BIOS do projeto PMON2000, SO= versão do Android)faconti (Fa Conti) Thu, 07 Jan 2010 23:14:31 -0000
Netbook YeeLoong “100% open source” em exibição na CES http://migre.me/fPYY (Software Livre=BIOS do projeto PMON2000, SO= versão do Android)
REVOLUTIONARY New Software Instantly Broadcasts Your Message ToThe Desk Top Of 1000âs Of Willing Buyers. FREE Offer! @ http://bit.ly/48Tihjfastfreeleads (fastfreeleads) Thu, 07 Jan 2010 23:13:59 -0000
REVOLUTIONARY New Software Instantly Broadcasts Your Message ToThe Desk Top Of 1000’s Of Willing Buyers. FREE Offer! @ http://bit.ly/48Tihj
San Diego,CA | L-3 Communications | Embedded Software Engineer - (2009-34-07) | #tweetajob | http://bit.ly/7nfomL | #jobstj_sd_ca_sdet (Soft Test Jobs-SanD) Thu, 07 Jan 2010 23:13:57 -0000
San Diego,CA | L-3 Communications | Embedded Software Engineer - (2009-34-07) | #tweetajob | http://bit.ly/7nfomL | #jobs
This membership site "design software" is worth over $197. Yours for $1 for a limited time. http://bit.ly/6JXogRJacqueLaMantia (Jacque LaMantia) Thu, 07 Jan 2010 23:13:50 -0000
This membership site "design software" is worth over $197. Yours for $1 for a limited time. http://bit.ly/6JXogR
Lean Software Institute | Introducing Lean Software Development http://bit.ly/5YJ2Hwnathanwallace (nathanwallace) Thu, 07 Jan 2010 23:13:47 -0000
Lean Software Institute | Introducing Lean Software Development http://bit.ly/5YJ2Hw
Learn how to jump higher using our state of the art vertical jump program software.: The Vertical Mastery software cr.. http://bit.ly/6PkqAbstanb22 (stanr) Thu, 07 Jan 2010 23:13:44 -0000
Learn how to jump higher using our state of the art vertical jump program software.: The Vertical Mastery software cr.. http://bit.ly/6PkqAb
Subscribe to Software RSS feed 
Correlogic Systems, Inc. - Developer of software and support services to identify proteomic bio-markers and other complex biomolecular to the pharmaceutical, research and diagnostic communities. Based in Bethesda, Maryland.
Meta Description: [ Correlogic Systems, Inc. has pioneered the use of pattern recognition technologies for the development of proteomic, metabolomic and genomic based clinical prognostic and clinical diagnostic tests. The company has applied its proprietary software and sample preparation technologies to a wide rang... ]
GenoLogics Life Sciences Software Inc. - Specialist LIMS company, offering scientific data management software for high throughput screening genomics and systems biology. Includes product overview, modules, training and support in Victoria, British Columbia.
Meta Description: [ GenoLogics provides a leading open integrating platform and bioinformatics solution for the field of proteomics and systems biology research, to manage, integrate and analyze enormous volumes of data to advance health science research and drug discovery. GenoLogics mission is to provide solution... ]