The term ‘software‘ refers to the set of electronic program instructions or data that a computer processor can read in order to perform a task or an operation. In contrast, the term ‘hardware‘ refers to the physical components that you can see and touch, such as the computer hard drive, mouse, and keyboard. Coming to the History, Ada Lovelace is a famous mathematician who started working with Charles Babbage in 1833 following a demonstration on Difference Engine. It is Babbage’s first analytical engine which is proposed as a programmable computer. However, the efforts of Babbage and Lovelace remained unfinished and unpublished due to the lack of funds.
A computer cannot work and functions on its own. Instructions must be given to it to get the desired things to be done in a desired way. Hence there is a need to build of a set of instructions for a particular problem. Such sequence of instructions written in computer language which has the controlling activity against processing of computer using a program is nothing but SOFTWARE. In precise, software is a collection of programs, whose objective is to enhance the capabilities of hardware by executing the program and getting us output. .
Software types: Inspite of presence of many software availabilities, they can be mainly divided into two types namely
- System Software
- Application Software
- System Software: System software is a set of one or more programs, designed to control the operation and extend the processing capability of a computer system. In general, a computer’s system software performs one or more of the following functions:
- Assists the development of other application software
- Assists the execution of application software
- Monitors the effective use of various hardware resources, such as CPU, memory, peripherals, etc
- Communicates and controls the operation of peripheral devices, such as printer, disk, tape, etc
Some of the most commonly known types of system software are as follows:
- Operating Systems: Every computer has operating system software
- Programming Language Translators: Programming language translators are system softwares, which transform the instructions prepared by programmers in a programming language into an executable form.
- Communication Software: In a network environment, communications software allows transfer of data and programs from one computer to another. As an example, an website like 123movies new site uses this type of software to keep everything working.
- Utility Programs: Utility programs are set of programs, which help users in system maintenance tasks, and in performing tasks of routine nature.
- Application Software: Application software is a set of one or more programs, designed to solve a specific problem, or to perform a particular task. For example, application software for payroll processing products pay slips as the major output and many other.