Software is a general term for the various kinds ofÂ programs used to operateÂ computers and related devices. (The termÂ hardwareÂ describes the physical aspects of computers and related devices.) Sometimes abbreviated asÂ SWÂ andÂ S/W,Â software is a collection ofÂ instructionsÂ that enable the user to interact with a computer, its hardware, or perform tasks. Without software, computers would be useless. For example, without your Internet browser, you could not surf the Internet or read this page and without anÂ operating system, the browser could not run on your computer. The picture to the right shows a Microsoft Excel box, an example of a spreadsheet software program.
Software can be thought of as the variable part of a computer and hardware the invariable part. Software is often divided intoÂ applicationÂ software (programs that do work users are directly interested in) andÂ systemÂ software (which includesÂ operating systems and any program that supports application software). The termÂ middlewareÂ is sometimes used to describe programming that mediates between application and system software or between two different kinds of application software (for example, sending a remote work request from an application in a computer that has one kind of operating system to an application in a computer with a different operating system).
An additional and difficult-to-classify category of software is theÂ utility, which is a small useful program with limited capability. Some utilities come with operating systems. Like applications, utilities tend to be separately installable and capable of being used independently from the rest of the operating system.