Máquina Von Neumann, el diseño básico de la computadora moderna o clásica. El concepto fue completamente articulado por tres de los principales científicos involucrados en la construcción de ENIAC durante la Segunda Guerra Mundial—Arthur Burks, Herman Goldstine y John von Neumann—en «Preliminary Discussion of the Logical Design of an Electronic Computing Instrument» (1946). Aunque muchos investigadores contribuyeron con ideas directa o indirectamente al artículo, von Neumann fue el autor principal, y se cita con frecuencia como el certificado de nacimiento de la informática.
Entre los principios enunciados en el documento fueron que los datos y las instrucciones deben ser mantenidos en una sola tienda y que las instrucciones deben ser codificados para ser modificable por otras instrucciones. Esta fue una decisión extremadamente crítica, porque significaba que un programa podía ser tratado como datos por otro programa. El ingeniero alemán Konrad Zuse había considerado y rechazado esta posibilidad como demasiado peligrosa para sus ordenadores Zuse. Pero su inclusión por el grupo de von Neumann hizo posibles lenguajes de programación de alto nivel y la mayoría de los avances en software de los siguientes 50 años. Posteriormente, las computadoras con programas almacenados fueron conocidas como máquinas von Neumann.
Un problema que la idea del programa almacenado resolvió fue la necesidad de un acceso rápido a las instrucciones. ENIAC había utilizado paneles de conexión, que tenían la ventaja de permitir que las instrucciones se leyeran electrónicamente, en lugar de por lectores de tarjetas mecánicos mucho más lentos, pero también tenía la desventaja de hacer que ENIAC fuera muy difícil de programar. Pero si las instrucciones se pudieran almacenar en la misma memoria electrónica que contenía los datos, se podría acceder a ellas tan rápido como fuera necesario. Una consecuencia inmediatamente obvia fue que las computadoras futuras necesitarían mucha más memoria que ENIAC.