Cambridge Encyclopedia :: Cambridge Encyclopedia Vol. 17

computer program - Terminology, Program execution, Programming, Trivia

A complete structured sequence of statements in a programming language or languages which directs a computer to carry out a specific task. The task of writing computer programs is known as programming, and the specialists who carry out this task are computer programmers.

A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer.

Most computer programs consist of a list of instructions that explicitly implement an algorithm; another form of computer program lists the characteristics of the required data and leaves algorithm selection to the computer (usually another program running on the computer) to deduce the output, if any.

Computer programs are often written by people, known as computer programmers, they may also be generated by other programs.

Terminology

Commercial computer programs aimed at end-users are commonly referred to as application software by the computer industry, as these programs are focused on the functionality of the 'program categorized by what it is used for' rather than whether it's system software—like the Windows Operating system—which underlies the basic functioning of a computer user's environment.

University of Phoenix

In general discussion among computer programmers the context is invariably sufficient to distinguish which of these possible meanings of the term program is intended, for even their 'standard trade tools,' or 'toolbox', which consists of 'development tools' (or programs) are themselves considered 'Applications software' by the programmers that wrote 'that code'. Indeed, the word 'code' is not infrequently used by programmers among themselves when referring to some aspect of a computer program. all dealing with the arcana of turning a program written in some computer language, saved as some text file holding 'source code', feeding it into a 'compiler' program, which produces unlinked object code...

Program execution

A computer program is loaded into memory (usually by the operating system) and then executed ("run"), instruction by instruction, until termination, either with success or through software or hardware error.

Before a computer can execute any sort of program (including the operating system, itself a program) the computer hardware must be initialized. data

The executable form of a program (that is, usually object code) is often treated as being different from the data the program operates on. In some cases this distinction is blurred with programs creating, or modifying, data, which is subsequently executed as part of the same program (this is a common occurrence for programs written in Lisp), see self-modifying code.

Programming

A program is likely to contain a variety of data structures and a variety of different algorithms to operate on them.

Creating a computer program is the iterative process of writing new source code or modifying existing source code, followed by testing, analyzing and refining this code.

Trivia

The world's shortest useful program is usually agreed upon to be the utility cont/rerun used on the old operating system CP/M. It was 2 bytes long (JMP 100), jumping to the start position of the program that had previously been run and so restarting the program, in memory, without loading it from the much slower disks of the 1980's.

According to the International Obfuscated C Code Contest, the world's smallest "program" consisted of a file containing zero bytes, which when run output zero bytes to the screen (also making it the world's smallest self-replicating program). This "program" was qualified as such only due to a flaw in the language of the contest rules, which were soon after modified to require the program to be greater than zero bytes. This is recognized as the world's first computer program and she is recognised as the world's first computer programmer by historians.

User Comments Add a comment…

computer science - History, Major achievements, Relationship with other fields, Fields of computer science, Computer science education [next] [back] computer printer - Printing technology, Modern print technology, Obsolete and special-purpose printing technologies, Other printers, Printing mode