Program: Difference between revisions
Get rid of a window on my laptop by improving this! |
m →Further reading: +Metropolis on the genesis of the 'stored program' idea |
||
| Line 15: | Line 15: | ||
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'. | 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'. | ||
==Further reading== | |||
* Nicholas Metropolis, J. Worlton, [https://www.osti.gov/servlets/purl/4628499 ''A Trilogy On Errors in the History of Computing''], Los Alamos National Laboratory, Los Alamos, 1972 - contains an in-depth section on the genesis of the 'stored program' idea, by someone who lived through the end of that era, and knew those who did the work | |||
<!-- https://www.osti.gov/biblio/4628499 --> | |||
{{semi-stub}} | {{semi-stub}} | ||
[[Category: Basics]] | [[Category: Basics]] | ||
Latest revision as of 21:38, 7 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'.
Further reading
- Nicholas Metropolis, J. Worlton, A Trilogy On Errors in the History of Computing, Los Alamos National Laboratory, Los Alamos, 1972 - contains an in-depth section on the genesis of the 'stored program' idea, by someone who lived through the end of that era, and knew those who did the work