Los primeros dispositivos mecánicos para contar fueron el ábaco y las máquinas de Pascal y Leibniz, pero carecían de programas. La Mark I de 1944 fue la primera computadora programable pero usaba dispositivos electromecánicos. La ENIAC de 1947 fue la primera computadora electrónica. Finalmente, la EDVAC introdujo el concepto fundamental de von Neumann de almacenar datos e instrucciones en la misma memoria, permitiendo programar las computadoras con lenguajes en lugar de cables.