Software is the non-tangible aspect of a computer that is necessary for it to perform any function. Software includes the programs that instruct the computer what to do, the configuration files where important system information is stored, and user files which hold the end result of the computers' functions. Often, many different layers of software are combined to perform computing tasks, examples of which include the transfer of HTML files via TCP/IP or the operation of a media player running in an operating system.
Examples of common computer software include the Microsoft Windows operating system, the Firefox web browser, email filters, and mp3 audio files. Each of these represent a different type of software, that are often used together to perform a particular function or task. The operating system renders an interface to the computer's hardware and provides a platform for which developers can code other software without concerning themselves with the details of the hardware. If the operating system is the only software installed on the computer, then the computer can be powered on yet nothing can be done with it. This type of software is called system software. Application software, such as Firefox, are the programs that actually do anything useful to the end user. In the case of Firefox, the program fetches and displays webpages. Other types of application software include the programs familiar to home computer users including Outlook, Thunderbird, Open Office, and Photoshop. Most application software is customizable, for instance in Thunderbird one can configure email to be automatically sorted into folders depending on certain criteria. These customizations are referred to as user-written software. Other examples of user-written software include Open Office macros and music playlists. The final type of software is the files which contain the data created or processed by application software. Email messages, digital photographs, mp3 files, and all other data files are included in this category. These files by themselves are useless: they require application software to open and display their content. Mp3 files, for instance, require a program such as Windows Media Player or Winamp to open them and play back their content.
The terms 'software' and 'program' are often confused, yet the distinction is not difficult to make. Computer programs are not mean to be changed during the normal course of operation. Any value or information that is changed during the operation of a computer is data, which read by a program, not part of it. However, during routine maintenance a computer program may be updated. This is generally done to correct bugs and add new features. Thus the stable, non-changing software components are often programs, whereas anything that is updated, created, deleted, or otherwise modified on a regular basis is not a program.
Programming Technology Terminology Questions