A Computer cannot do anything on its own. It must be instructed to do a desired job. Hence, it is necessary to specify a sequence of instructions, which a computer must perform to solve a problem. Such a sequence of instructions, written in a language, which can be understood by a computer is called a computer program. It is the program, which control the activity of processing by the computer and the computer performs precisely what the program wants it to do. When a computer is using a program, we say, it is running or executing that program.
The term software refers to the set of computer programs, procedure and associated document which describe the program, and how they are to be used. To be precise, software means collection of programs, whose objective is to enhance the capabilities of the hardware.
A software package is a group of programs, which solve a specific type of job. For example, a word-processing package may contain programs to text editing, text formatting, drawing graphics, spelling checking etc. Hence, a multipurpose computer system has several software package, one each for every type of job it can perform.
Relation between Hardware and Software
In order to produce useful output in a computer, its hardware and software must work together. Nothing useful can be done with the computer hardware on its own and software cannot be utilized without supporting hardware.
To take an analogy, cassette player and the cassettes purchased from market are hardware. However. the songs recorded on the cassettes are its software. To listen to a particular song, first of all that song has to be recorded on one of the cassettes which should than be mounted on the cassette player and played. Similarly, to get a particular job done by a computer, the corresponding software should be loaded in the hardware, before processing starts.
The following important points regarding the relationship between hardware and software are brought out by this analogy :
1. Both hardware and software are necessary for a computer to do useful job. Both are complementary to each other.
2. The same hardware can be loaded with different software to make a computer system performs different types of jobs, just as different songs can be played using the same cassette player.
3. Except for upgrades hardware is normally a one time expense, whereas software is a continuing expense. Just as we buy new cassettes for the newly released songs, or for songs whose cassettes we do not have, similarly one buys new software to be run on the same hardware as and when need arises or funds become available.