What is a program?

In computing, a program is a specific set of ordered operations for a computer to perform. In the modern computer that John von Neumann outlined in 1945, the program contains a one-at-a-time sequence of instructions that the computer follows. Typically, the program is put into a storage area accessible to the computer. The computer gets one instruction and performs it and then gets the next instruction. The storage area or memory can also contain the data that the instruction operates on. Note that a program is also a special kind of data that indicates how to operate on application or user data.

Computer programs can be characterized as interactive or batch in terms of what drives them and how continuously they run.

  • Interactive programs. These programs receive data from an interactive user or possibly from another program that simulates an interactive user. A command interpreter or a web browser are examples of an interactive program.
  • Batch programs. These programs run, do their work and then stop. A batch program can be started directly by a user, or it can be invoked to run by an interactive program. A program that computes and prints out a company payroll is an example of a batch program. Print jobs are also batch programs.

Creating a program

When you create a program, you write it using some kind of computer language. Your language statements are the source program. You then compile the source program with a special program called a language compiler, and the result is called an object program -- not to be confused with object-oriented programming. There are several synonyms for object program, including object module and compiled program. The object program contains the string of 0s and 1s called machine language that the logic processor works with.

The machine language of the computer is constructed by the language compiler with an understanding of the computer's logic architecture, including the set of possible computer instructions and the length, or number of bits, in an instruction.

All kinds of automation mean all kinds of programs, written and run by ordinary people. Learn how improving your math skills can enhance your programming skills.

This was last updated in November 2021

Continue Reading About program

Dig Deeper on Software design and development

Cloud Computing
App Architecture