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 ]
Bondtrac, Inc. - Single-user to enterprise-wide online systems for the fixed-income securities markets including corporate, municipal, agency, and treasury bonds.
Meta Description: [ Bond dealers, traders and brokers use the Bondtrac fixed income information service to locate, buy, and sell municipal, corporate, agency and government bonds. Fully disclosed live offerings with portfolio analytics, yield curves, calculators, and official statements are found here. ]
CAfIT - UK-designed multi-currency, multi-asset class (including derivatives) portfolio management and modeling system for fixed income and balanced fund managers.
Meta Description: [ Odyssey Financial Technologies offers leading financial software solutions for the Banking industry ]
Street Software Bond Pricing - Providers of intraday to historical bond price data, as well as analytical software and services.
Meta Description: [ Street Software Bond Pricing ]
ValuBond - Provides fixed income technology and services including live trading for market professionals and customized private label websites for broker dealers.
Beware - Illegal software allows anyone to tap your cell phone