La primera máquina que realizaba cálculos de manera autónoma fue inventada en 1642 por el gran matemático y filósofo francés Blas Pascal.  La máquina de Pascal (en honor a su inventor), era movida mediante una serie de ruedas dentadas, numeradas del cero al nueve, alrededor de sus circunferencias y era capaz de sumar y restar.

En 1671 Gottfried Wilhelm Leibniz le adicionó a la máquina de Pascal un cilindro diseñado especialmente para que fuera capaz de multiplicar y dividir de manera directa. A principios del siglo XIX el ingeniero Joseph Marie Jacquard perfeccionó el concepto de tarjeta perforada, con el cual se podían "programar" las máquinas de tejer para que siguieran un patrón o diseño. Este concepto fue posteriormente utilizado en las máquinas de cómputo para decirles que debían calcular.

Pero ninguno de estos avances fue antecesor directo de las computadoras electrónicas de hoy.  La verdadera precursora de la computadora fue la máquina llamada "motor de diferencias", construida en 1822 por Charles Babbage para calcular algoritmos y tablas astronómicas.

A partir de su trabajo en el motor de diferencias, Babbage diseñó un poderoso instrumento para el cálculo automático. Tal como lo concibió Babbage, este "motor analítico" estaría impulsado por vapor, y trabajaría basado en un programa de planeación almacenado en tarjetas perforadas.  Concibió una memoria, un procesador aritmético, los medios de ingresar datos y/o instrucciones, así como una sección de producción que escribiría los resultados de las computaciones.

Todos estos son los elementos de las computadoras modernas y no se hicieron realidad sino varias generaciones después de ser propuestos por Babagge. Charles Babbage no pudo implementar el motor analítico y murió sin saber que realmente funcionaba.