Software – A Computer Program

40Software, computer programs; instructions that cause the hardware-the machines-to do work. Software as a whole can be divided into a number of categories based on the types of work done by programs.

The two primary software categories are operating systems (system software), which control the workings of the computer, and application software, which addresses the multitude of tasks for which people use computers. System software thus handles such essential, but often invisible, chores as maintaining disk files and managing the screen, whereas application buy software performs word processing, database management, and the like. Two additional categories that are neither system nor application software, although they contain elements of both, are network software, which enables groups of computers to communicate, and language software, which provides programmers with the tools they need to write programs.

In addition to these task-based categories, several types of software are described based on their method of distribution. These include the so-called canned programs or packaged software developed and sold primarily through retail outlets; freeware and public-domain software, which is made available without cost by its developer; shareware, which is similar to freeware but usually carries a small fee for those who like the program; and the infamous vaporware, which is software that either does not reach the market or appears much later than promised.

In addition to a computer’s speed the usability of the software and the ergonomic design of the physical components are important considerations.

Usability is the ease with which a person learns to use an application, as well as how efficient and effective it is. Ergonomics determines how people function in relation to their environment, and with respect to computers, how to make input and output devices easy, comfortable, and efficient to use. For example, curved ergonomic keyboards prevent wrists from bending at unnatural angles, making the user more comfortable and input faster.