Computer software, consisting of programs, enables a computer to perform specific tasks, as
opposed to its physical components (hardware) which can only do the tasks they are mechanically
designed for. The term includes application software such as word processors which perform productive
tasks for users, system software such as operating systems, which interface with hardware to run the necessary
services for user-interfaces and applications, and middleware which controls and co-ordinates distributed systems.
--Wikipedia