A computer is a programmable digital electronic device that — through the use of stored instructions and programs — is able to perform different tasks with data, including compilation, computation, correlation, retrieval, and selection. A computer program is one of two things. It may refer to the coding of software applications done by programmers or developers. Alternatively, it may refer to the finished products of development, known as computer programs, software applications, computer software, or apps. Even though system software is developed by programmers, it is not characteristically referred to as a computer program: the term is generally used to refer to standalone software or suites that is used in conjunction with system software, but is not required for the computer to run.
There are many different varieties of computer program, and for any task the computer user wishes to perform, there are usually a number of options available. A program can be designed for only one operating system, or there may be different iterations for the various major operating systems. It if achieves popularity, new versions of a computer program will be released periodically in order to fix bugs, add features, and provide updates to match changes in computer operating systems.
The most commonly recognized types of computer program are those that come in a box, often with a CD-ROM or DVD and a manual, which may be supplemented by online material. The user installs the program onto his or her computer and runs it alongside other programs. This type of program includes word processing programs, spreadsheets, presentation software, and database applications, which may also be sold in bundles or suites. Programs for creating or editing sound files, images, photographs, and videos are also popular, as are educational programs and games. Desktop publishing programs add layout facility to word processing capabilities and specialized science and mathematics programs handle equations and other technical material. Computer programs for creating material for sending and receiving material through the Internet are also very popular and include apps for website design, blog design, hosting webinars, conducting video chats, sending and receiving email and instant messages, uploading and downloading files, and working on files remotely along with others.