The term Computer Software or software is referred to computer programs by which we instruct the computer to do a specific task. Computer software can be used for one or more computer programs and related data, installed in the storage of computer. Each computer program is prepared with the help of programming languages and helps the user to do work smoothly. With the help of software we can order computer to do work as per our requirements and convenience.

indexBriefly we can say that software is mind and intelligence of a computer which is used to operate the hardware (computer or machine). Generally there are lots of software is available in market and internet but we can section them in following categories:

Operating System: Operating system or operating software (also known as OS) is used to communicate between the machine and user. An operating system allows the user to operate the machine and to make it more useful with other software. Operating software can be understood as a brain of computer which is must for proper working of computer. As examples we can include Microsoft Windows, Linux, Mac OS, servers and utilities.

Device Driver: are used to control the device or hardware part of the computer as LAN driver, audio driver, video driver etc.

Application Software: provides end-user application to the user for specific task and helps user to do work more efficiently and smoothly. In application software, we can take examples of industrial automation, business software, video games, science and data analyzing software, telecommunications, databases, educational software, mathematical software, medical software, molecular modeling software, image editing, spreadsheet, simulation software, Word processing and Decision making software. Some examples of application software are MS-word, MS-Excel, Adobe Reader etc.

Middleware: controls and coordinates between the different software and applications.

Programming Software or Languages: interprets user’s commands into machine language and instructs the computer to follow the manual commands. Programming languages are used to develop the software as well as compilers, debuggers, interpreters, linkers, text editors including C, C++, Java, PHP, VB, Perl and other programming software.

Programming tools: are used to debugging or reverse engineering and to check source code compatibility. This is the next step of programming languages which ensures the usability and proper functionality of the developed software.

Testware: also helps the developers and users to test the hardware or software in order to check the proper working of machine with hardware or software.