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 ]
uBio News
uBio creates new XML Web Services Tue, 15 Aug 2006 00:00:00 -0400 A new set of webservices was added to the current collection. The new XML webservices can be called via HTTP GET and POST requests and will return XML data structures. This new version of web services can be easily embedded within any web-based application without having to deal with setting up SOAP clients. Missouri Botanical Garden's Tropicos database is indexed in NameBank Tue, 01 Aug 2006 00:00:00 -0400 uBio has indexed The Missouri Botanical Garden's (MOBOT) Tropicos database within NameBank. Indexing Tropicos allows uBio to provide a variety of tools and services to MOBOT such as enhanced LinkIT and FindIT applications as well as linkages to Tropicos from the uBio Portal.
"W3TROPICOS provides new and improved access to the Missouri Botanical Garden's VAST nomenclatural database and associated authority files." uBio RSS is integrated within FishBase Tue, 27 Jun 2006 00:00:00 -0400 uBio has partnered with FishBase to produce an application that monitors current publications available via Real Simple Syndication (RSS) for references to fish species. A link to this application is provided within FishBase species summaries.
500MACAW - Multiple sequence alignments, for both Windows (3.1, NT on Intel and Alpha chips) and Macintosh. Based on pattern-matching algorithms that attempt to identify blocks of local alignment similarity, rather than on the common Needleman and Wunsch global alignment algorithm.
Heavy Duty alignment Software from Bee Line. Bee Line aligns to specifications that are better than the vehicles OEM. To ...