Software Evolution
Let’s begin with the basics of Programming.
A Software is defined as the set of specific instructions, gathered data or programs that are written to achieve specific functionality. The software runs with the support of the underlying hardware available in the device. The software can be installed on the computer systems as per the requirements. Depending on to the development and use of software, it is broadly classified as:
Application software
Application software are commonly used software packages to perform specialized tasks defined by the user. The application softwares is the set of useful programs put together to perform a specific function. The modern applications such as microsoft office, web browsers, multimedia editors etc are the examples of application software.
System software
With the support of the underlying hardware and the installed system softwares, the application softwares runs on the system. System softwares acts as the coordinator between the hardware and the software. Operating system is the example of system software that makes the operational environment available for the application softwares for execution.
Programming software
The programming software tools are widely used for development of the software programs. All the assemblers, compilers, debuggers and interpreters fall in this category. Programmers write the software codes as per the requirements using the programming softwares.
Middleware
Middleware is a special programming software that is amalgamation of system and application software. It is responsible to establish the communication between the operating system and the application software. The middleware makes it possible to maintain the communication between the application softwares residing on different operating systems.
Driver software
Device drivers are the special system softwares that enables the services of computer peripherals when attached to the system. All the computer peripherals need this driver software to perform the specified function when connected with the computer system.