Charles Babbage, ingeniero mecánico y polimático inglés, originó el concepto de una computadora programable.
Considerado el «padre de la computadora», conceptualizó e inventó la primera computadora mecánica a principios del siglo XIX.
Después de trabajar en su revolucionario motor de diferencias, diseñado para ayudar en los cálculos de navegación, en 1833 se dio cuenta de que era posible un diseño mucho más general, un motor analítico.
La entrada de programas y datos se debía proporcionar a la máquina mediante tarjetas perforadas, un método que se utilizaba en ese momento para dirigir los telares mecánicos, como el telar Jacquard.
Para la salida, la máquina tendría una impresora, un trazador de curvas y una campana. La máquina también podría insertar números en tarjetas para leerlas más adelante.
El motor incorporó una unidad de lógica aritmética, control de flujo en forma de ramificaciones y bucles condicionales y memoria integrada, lo que lo convierte en el primer diseño para una computadora de propósito general que podría describirse en términos modernos como Turing-complete.
La máquina estaba cerca de un siglo por delante de su tiempo. Todas las piezas tenían que hacerse a mano, esto era un problema importante para un dispositivo con miles de piezas.
Finalmente, el proyecto se disolvió porque el gobierno británico lo dejo de financiar.
Su hijo, Henry Babbage, completó una versión simplificada de la unidad de computación del motor analítico en 1888.