A stored-program computer keeps its instructions in the same read-write memory it uses for data, rather than fixing the program in wiring, switches, or plugboards. John von Neumann’s 1945 “First Draft of a Report on the EDVAC” set out this design, describing a single memory that holds both the numbers a machine works on and the orders that tell it what to do.
This was the breakthrough that made general-purpose computers practical. Earlier machines were often configured for a task by physically rewiring them, a slow and error-prone process. When the program sits in memory, a new task can be run simply by loading new instructions, so one machine can do many different jobs.
Because instructions are just data in memory, a stored-program computer can also read, modify, and generate its own instructions. That property underlies assemblers, compilers, and loaders, all of which are programs that produce or transform other programs.
Nearly every modern computer is a stored-program machine, and the design is closely tied to the von Neumann architecture described in the same EDVAC report. The shared single memory it relies on is also the source of the later von Neumann bottleneck.