Program: Difference between revisions
m +punc, link |
Get rid of a window on my laptop by improving this! |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
A '''program''' is the | A '''program''' (the term is a shortened form of the full, original term - '''stored program''') is the collection of steps needed to accomplish a particular information-handling goal. A program will include: | ||
* [[expression]]s to perform arithmetical and/or logical computations | |||
* directives to move data from one place to another | |||
* [[control flow]] mandates, including [[conditional branch]]es and [[subroutine]] calls | |||
* [[ | A program almost always exists in two complementary forms: | ||
* [[ | * as [[object code]] (often referred to as 'binary'), a collection of [[instruction]]s loaded into the [[main memory]] of the [[computer]], from where the [[Central Processing Unit|CPU]] will [[fetch]] the individual instructions of the program, and [[execute]] them; | ||
* the [[source code]]; the expression, in either [[assembly language]] or a higher-level [[programming language]] (forms more suited for humans to humans to work with), of the steps in the program. | |||
Programs, almost all originally created in the latter form, are converted from their original human-readable source code, to the object code form needed by an actual computer, by tools such as [[assembly language|assembler]]s and [[compiler]]s. | |||
==Early programs== | |||
In the context of early [[computing device]]s, it must be emphasized that a program was a specified series of elementary steps, which were stored in some mechanism from which they were fed into the device; not simply the ability to make physical changes to the device, to change what calculation it performs - even if those changes were instantiated in something that was added to the device for the accomplishment of that exact purpose, like the [[plug-board]]s of the [[ENIAC]]. Such 'customizability' is better referred to as 'configurability', and ''not'' 'programmability'. | |||
{{semi-stub}} | {{semi-stub}} | ||
[[Category: | [[Category: Basics]] | ||
Latest revision as of 10:02, 2 September 2026
A program (the term is a shortened form of the full, original term - stored program) is the collection of steps needed to accomplish a particular information-handling goal. A program will include:
- expressions to perform arithmetical and/or logical computations
- directives to move data from one place to another
- control flow mandates, including conditional branches and subroutine calls
A program almost always exists in two complementary forms:
- as object code (often referred to as 'binary'), a collection of instructions loaded into the main memory of the computer, from where the CPU will fetch the individual instructions of the program, and execute them;
- the source code; the expression, in either assembly language or a higher-level programming language (forms more suited for humans to humans to work with), of the steps in the program.
Programs, almost all originally created in the latter form, are converted from their original human-readable source code, to the object code form needed by an actual computer, by tools such as assemblers and compilers.
Early programs
In the context of early computing devices, it must be emphasized that a program was a specified series of elementary steps, which were stored in some mechanism from which they were fed into the device; not simply the ability to make physical changes to the device, to change what calculation it performs - even if those changes were instantiated in something that was added to the device for the accomplishment of that exact purpose, like the plug-boards of the ENIAC. Such 'customizability' is better referred to as 'configurability', and not 'programmability'.