- 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 tells how to operate on "application or user data.")
Programs can be characterized as interactive or batch in terms of what drives them and how continuously they run. An interactive program receives data from an interactive user (or possibly from another program that simulates an interactive user). A batch program runs and does its work, and then stops. Batch programs can be started by interactive users who request their interactive program to run the batch program. A command interpreter or a Web browser is an example of 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.
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 (number of bits) in an instruction.
| LAST UPDATED: |
01 Mar 2007
|
 |
Read more about program:
|


 |
Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com
|

');
// -->
 |
 |
|  |
RELATED CONTENT
 |
Manage component dependencies for improved system quality
Too much coupling of code within a system makes the system hard to understand, integrate, extend, and test. By managing dependencies, you can prevent...
|
 |
Survey: Agile interest high, but waterfall still used by many
While there's a strong interest in new software development techniques, SearchSoftwareQuality.com's recent survey found that many still follow...
|
 |
Continuous integration reduces bugs, increases productivity
Development teams can use continuous integration (CI) to find and fix bugs, share knowledge, and generally work better together, says Agile coach...
|
|
 |
 |
|  |
RELATED GLOSSARY TERMS
| Terms from Whatis.com − the technology online dictionary |
 |
build tool
(SearchSoftwareQuality.com)
A build tool is a programming utility that automates a software build task, such as ensuring that the proper source code files are compiled and that...
|
 |
development environment
(SearchSoftwareQuality.com)
In computer program and software product development, the development environment is the set of processes and programming tools used to create the...
|
|

|