Hardware represents the physical and tangible components of a computer, i.e. the components that can be seen and touched.
Input devices − keyboard, mouse, etc.
Output devices − printer, monitor, etc.
Secondary storage devices − Hard disk, CD, DVD, etc.
Internal components − CPU, motherboard, RAM, etc.
Hardware and software are mutually dependent on each other. Both of them must work together to make a computer produce a useful output.
Software cannot be utilized without supporting hardware.
Hardware without a set of programs to operate upon cannot be utilized and is useless.
To get a particular job done on the computer, relevant software should be loaded into the hardware.
Hardware is a one-time expense.
Software development is very expensive and is a continuing expense.
Different software applications can be loaded on a hardware to run different jobs.
A software acts as an interface between the user and the hardware.
If the hardware is the 'heart' of a computer system, then the software is its 'soul'. Both are complementary to each other.
Software is a set of programs, which is designed to perform a well-defined function.
A program is a sequence of instructions written to solve a particular problem.
There are two types of software −
System Software
Application Software
The system software is a collection of programs designed to operate, control, and extend the processing capabilities of the computer itself.
System software is generally prepared by the computer manufacturers.
System software serves as the interface between the hardware and the end users.
System Software
Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc.
Here is a list of some of the most prominent features of a system software −
Close to the system
Fast in speed
Difficult to design
Difficult to understand
Less interactive
Smaller in size
Difficult to manipulate
Generally written in low-level language
Application software products are designed to satisfy a particular need of a particular environment.
All software applications prepared in the computer lab can come under the category of Application software.
Application software may consist of a single program, such as Microsoft's notepad for writing and editing a simple text.
Application software may also consist of a collection of programs, often called a software package, which work together to accomplish a task, such as a spreadsheet package.
Examples of Application software are the following −