# Historia del hardware

El hardware ha sido un componente importante del proceso de cálculo y almacenamiento de datos desde que se volvió útil para que los valores numéricos fueran procesados y compartidos. El hardware de computador más primitivo fue probablemente el palillo de cuenta; después grabado permitía recordar cierta cantidad de elementos, probablemente ganado o granos, en contenedores. Algo similar se puede encontrar cerca de las excavaciones de Minoan. Estos elementos parecen haber sido usadas por los comerciantes, contadores y los oficiales del gobierno de la época.
Los dispositivos de ayuda provenientes de la computación han cambiado de simples dispositivos de grabación y conteo al ábaco, la regla de cálculo, la computadora analógica y los más recientes, la computadora u ordenador.

## Los dispositivos más antiguos

La humanidad ha usado dispositivos de cómputo por milenios. Un ejemplo es el dispositivo para establecer la igualdad de peso: las clásicas balanzas. Una máquina más aritmética es el ábaco. Se piensa que la forma más antigua de este dispositivo —el ábaco de polvo— fue inventado en Babilonia. El ábaco egipcio del grano y del alambre datan del año 501 a. C.
En la Antigüedad y en la Edad Media se construyeron algunos computadores analógicos para realizar cálculos de astronomía. Entre ellos estaba el Mecanismo de Anticitera, un mecanismo de la antigua Grecia (aprox. 150-100 a. C.), el Planisferio; algunas de las invenciones de Al-Biruni (aprox. 1000 d. C.), el Ecuatorio de Azarquiel (alrededor de AD 1015), y otros dispositivos analógicos principalmente de astrónomos y estudiosos persas.

## Introducción

Los computadores pueden ser separados en software y hardware. El hardware de computación es la máquina física, que bajo la dirección de un programa, almacena y manipula los datos. Originalmente, los cálculos fueron hechos por seres humanos, quienes fueron llamados computadores, como título del trabajo o profesión. Este artículo cubre los principales desarrollos en la historia del hardware de computación, y procura ponerlos en contexto. Para una detallada línea de tiempo vea el artículo línea de tiempo de la computación. El artículo Historia de la computación trata de los métodos previstos para la pluma y el papel, con o sin la ayuda de tablas. Puesto que las calculadoras digitales confían en el almacenamiento digital, y tienden a estar limitadas por el tamaño y la velocidad de la memoria, la historia del almacenamiento de datos del computador está unido al desarrollo de las computadoras.

## Primeras calculadoras

Durante milenios, la humanidad ha usado dispositivos para ayudar en los cálculos. El dispositivo de contar más temprano fue probablemente una cierta forma de palito de contar. Posteriores ayudas para mantener los registros incluyen la arcilla de Fenicia que representaban conteos de artículos en contenedores, probablemente ganado o granos. Una máquina más orientada hacia la aritmética es el ábaco. La forma más temprana de ábaco, el ábaco de polvo, había sido usado en Babilonia tan temprano como en 2400 a. C.. Desde entonces, muchas otras formas de tablas de contar han sido inventadas, por ejemplo en una casa de cuenta medieval, un paño a cuadros sería colocado en una mesa, como una ayuda para calcular sumas de dinero, y los marcadores se movían alrededor en ella según ciertas reglas.
Un número de computadores analógicos fueron construidos en épocas antiguas y medioevales para realizar cálculos astronómicos. Estos incluyen el mecanismo de Anticitera y el astrolabio de la Grecia antigua (c. 150-100 a. C.). Estos dispositivos son usualmente considerados como las primeras computadoras análogas. Otras versiones tempranas de dispositivos mecánicos usados para realizar ciertos tipos de cálculos incluyen el Planisferio; algunas de las invenciones de Al-Biruni (c. AD 1000); el Equatorium de Azarquiel (c. AD 1015); y los computadores astronómicos analógicos de otros astrónomos e ingenieros musulmanes medievales.
John Napier (1550-1617) observó que la multiplicación y la división de números pueden ser realizadas por la adición y la sustracción, respectivamente, de los logaritmos de esos números. Mientras producía las primeras tablas logarítmicas Napier necesitó realizar muchas multiplicaciones, y fue en este punto que diseñó los huesos de Napier, un dispositivo similar a un ábaco usado para la multiplicación y la división.
Puesto que los números reales pueden ser representados como distancias o intervalos en una línea, la regla de cálculo fue inventada en los años 1920 para permitir que las operaciones de multiplicación y de división se realizarán perceptiblemente más rápidamente que lo que era posible previamente. Las reglas de cálculo fueron usadas por generaciones de ingenieros y de otros trabajadores profesionales con inclinación matemática, hasta la invención de la calculadora de bolsillo. Los ingenieros del programa Apolo para enviar a un hombre a la Luna, hicieron muchos de sus cálculos en reglas de cálculo, que eran exactas a tres o cuatro dígitos significativos.
En 1623, Wilhelm Schickard construyó la primera calculadora mecánica digital y por lo tanto se convirtió en el padre de la era de la computación. Puesto que su máquina usó técnicas tales como dientes y engranajes desarrollados primero para los relojes, también fue llamada un 'reloj calculador'. Fue puesto en uso práctico por su amigo Johannes Kepler, quien revolucionó la astronomía.
Una original calculadora de Pascal (1640) es presentada en el museo de Zwinger. Siguieron las máquinas de Blaise Pascal (la Pascalina, 1642) y de Gottfried Wilhelm von Leibniz (1671). Alrededor 1820, Charles Xavier Thomas de Colmar creó la primera calculadora mecánica exitosa producida en serie, El Aritmómetro de Thomas, que podía sumar, restar, multiplicar, y dividir. Estaba basado principalmente en el trabajo de Leibniz. Las calculadoras mecánicas, como el Addiator de base diez, el Comptómetro, la calculadora Monroe, el Curta y el Addo-X permanecieron en uso hasta los años 1970.
Leibniz también describió el sistema de numeración binario, un ingrediente central de todas las computadoras modernas. Sin embargo, hasta los años 1940, muchos diseños subsecuentes fueron basados en el difícil de implantar sistema decimal, incluyendo las máquinas de Charles Babbage de los años 1800 e incluso el ENIAC de 1945.

## 1801: Tecnología de tarjeta perforada

Tan temprano como en 1725, Basile Bouchon, quien fue alumno de Carlos Bruné, usó un lazo de papel perforado en un telar para establecer el patrón a ser reproducido en la tela, y en 1726 su compañero de trabajo, Jean-Baptiste Falcon, mejoró su diseño al usar tarjetas perforadas de papel unidas una a la otra para la eficacia en adaptar y cambiar el programa. El telar de Bouchon-Falcon era semiautomático y requería la alimentación manual del programa.
En 1801, Joseph Marie Jacquard desarrolló un telar en el que el patrón que era tejido era controlado por tarjetas perforadas. La serie de tarjetas podría ser cambiada sin cambiar el diseño mecánico del telar. Esto un hito en programabilidad.
En 1833, Charles Babbage avanzó desde desarrollar su máquina diferencial a desarrollar un diseño más completo, la máquina analítica, que, para su programación, tomaría prestada directamente las tarjetas perforadas del telar Jacquar. .
En 1835 Charles Babbage describió su máquina analítica. Era el plan de una computadora programable de propósito general, empleando tarjetas perforadas para la entrada y un motor de vapor para la energía.
Su idea inicial era usar las tarjetas perforadas para controlar una máquina que podía calcular e imprimir con precisión enorme las tablas logarítmicas (una máquina de propósito específico). La idea de Babbage pronto se desarrolló en una computadora programable de propósito general, su máquina analítica.
A pesar de que su diseño era brillante y los planes eran probablemente correctos, o por lo menos depurables, el proyecto fue retardado por varios problemas. Babbage era un hombre difícil para trabajar con él y discutía con cualquier persona que no respetara sus ideas. Todas las partes para su máquina tenían que ser hechas a mano. En una máquina con miles de partes, a veces los pequeños errores en cada elemento pueden acumularse, terminando en grandes discrepancias. Esto requería que estas partes fueran mucho mejores que las tolerancias que podían obtenerse con la tecnología de esa época. El proyecto se disolvió en conflictos con el artesano que construyó las partes y fue terminado cuando se agotó el financiamiento del gobierno.
Ada Lovelace, hija de Lord Byron, tradujo y agregó notas al "Sketch of the Analytical Engine" por Federico Luigi, Conte Menabrea. Ella ha sido asociada cercanamente con Babbage. Algunos afirman que ella fue la primera programadora de computadoras del mundo, no obstante esta afirmación y el valor de sus otras contribuciones son discutidos por muchos.
Una reconstrucción la Máquina Diferencial II, un diseño anterior, más limitado, ha estado operacional desde 1991 en el Museo de Ciencia de Londres. Con algunos cambios triviales, trabaja como Babbage la diseñó y demuestra que Babbage estaba, en teoría, en lo cierto.
El museo usó máquinas herramientas operadas por computador para construir las partes necesarias, siguiendo las tolerancias que habría podido alcanzar un maquinista de ese período. Algunos creen que la tecnología de ese tiempo no podía producir partes de suficiente precisión, aunque esto aparece ser falso. La falla de Babbage en terminar la máquina puede ser principalmente atribuida a dificultades no solamente relacionadas con la política y el financiamiento, pero también con su deseo de desarrollar una computadora cada vez más sofisticada. Hoy, muchos en el campo de la computación llaman a esta clase obsesión creeping featuritis (algo así como "caracterititis creciente", es decir, el deseo de agregar cada vez más y más características).
En 1890, la Oficina del Censo de los Estados Unidos usó tarjetas perforadas, las máquinas de ordenamiento, y las máquinas tabuladoras diseñadas por Herman Hollerith para manejar la inundación de datos del censo decenial ordenado por la constitución de Estados Unidos. La compañía de Hollerith finalmente se convirtió en el núcleo de IBM. La IBM desarrolló la tecnología de la tarjeta perforada en una poderosa herramienta para el procesamiento de datos de negocios y produjo una extensa línea de máquinas tabuladoras especializadas. Por 1950, la tarjeta de IBM había llegado a ser ubicua en la industria y el gobierno. La advertencia impresa en la mayoría de las tarjetas previstas para la circulación como documentos (cheques, por ejemplo), "No doblar, no perforar ni mutilar", se convirtió en un lema para la era posterior a la Segunda Guerra Mundial.
Siguiendo los pasos de Babbage, aunque ignorante de este anterior trabajo, Percy Ludgate, un contable de Dublín, Irlanda, diseñó independientemente una computadora mecánica programable, que describió en un trabajo que fue publicado en 1909.
Los artículos de Leslie Comrie sobre métodos de tarjetas perforadas, y las publicaciones de Wallace Eckert sobre Métodos de Tarjetas Perforadas en la Computación Científica en 1940, describieron técnicas que fueron suficientemente avanzadas para solucionar ecuaciones diferenciales, realizar multiplicación y división usando representaciones de punto flotante, todo ello hecho con tarjetas perforadas y las máquinas de registro de unidades??. La Oficina de Computación Astronómica Thomas J. Watson, de la Universidad de Columbia realizó cálculos astronómicos representando el estado del arte en la Computación.
En muchas instalaciones de computación, las tarjetas perforadas fueron usadas hasta (y después) del final de los años 1970. Por ejemplo, en muchas universidades alrededor del mundo los estudiantes de ciencia e ingeniería someterían sus asignaciones de programación al centro de computación local en forma de una pila de tarjetas, una tarjeta por línea de programa, y entonces tenían que esperar que el programa estuviera en cola para ser procesado, compilado, y ejecutado. En espera para la impresión de cualquier resultado, marcado con la identificación de quien lo solicitó, sería puesto en una bandeja de salida fuera del centro de computación. En muchos casos estos resultados serían solamente un listado de mensajes de error con respecto a la sintaxis, etc, del programa, necesitando otro ciclo de edición-compilación-ejecución. Ver también Programación de la computadora en la era de la tarjeta perforada.
Las tarjetas perforadas todavía son usadas y manufacturadas a este día, y sus dimensiones distintivas (y la capacidad de 80 columnas) todavía pueden ser reconocidas en formas, registros, y programas alrededor del mundo.

## Años 1930-años 1960: Calculadoras de escritorio

Por los años 1900, las primeras calculadoras mecánicas, cajas registradoras, máquinas de contabilidad, etcétera fueron rediseñadas para usar motores eléctricos, con la posición de engranajes como representación para el estado de una variable. Desde los años 1930, compañías como Friden, Marchant Calculator y Monroe hicieron calculadoras mecánicas de escritorio que podían sumar, restar, multiplicar y dividir. La palabra "computador" era un título de trabajo asignado a la gente que usaba estas calculadoras para realizar cálculos matemáticos. Durante el Proyecto Manhattan, el futuro laureado premio Nobel, Richard Feynman, fue el supervisor de un cuarto lleno de computadoras humanas, muchas de ellas eran mujeres dedicadas a la matemática, que entendían las ecuaciones diferenciales que eran solucionadas para el esfuerzo de la guerra. Después de la guerra, incluso el renombrado Stanislaw Ulam fue presionado en servicio para traducir las matemáticas a aproximaciones computables para la bomba de hidrógeno.
En 1948, fue introducido el Curta. Este era una calculadora mecánica pequeña y portátil, que tenía el tamaño aproximado de una amoladora de pimienta. Con el tiempo, durante los años 1950 y los años 1960 aparecieron en el mercado una variedad de diferentes marcas de calculadoras mecánicas.
La primera calculadora de escritorio completamente electrónica fue la ANITA Mk.VII británica, que usaba una pantalla de tubo Nixie y 177 tubos tiratrón subminiatura. En junio de 1963, Friden introdujo la EC-130 de cuatro funciones. Tenía un diseño completamente transistorizado, la capacidad 13 dígitos en un CRT de 5 pulgadas (130 mm), e introdujo la notación polaca inversa (RPN) al mercado de las calculadoras con un precio de $2200. El modelo EC-132 añadió la raíz cuadrada y funciones recíprocas. En 1965, los laboratorios Wang produjeron el LOCI-2, una calculadora de escritorio transistorizada de 10 dígitos que usaba una exhibición de tubo Nixie y podía computar logaritmos.
Con el desarrollo de los circuitos integrados y los microprocesadores, las calculadoras grandes y costosas fueron sustituidas por dispositivos electrónicos más pequeños.

## Computadoras analógicas avanzadas

Antes de la Segunda Guerra Mundial, las computadoras analógicas mecánicas y eléctricas eran consideradas el "estado del arte", y muchos pensaban que eran el futuro de la computación.
Las computadoras analógicas toman ventaja de las fuertes similitudes entre las matemáticas de propiedades de pequeña escala -- la posición y el movimiento de ruedas o el voltaje y la corriente de componentes electrónicos -- y las matemáticas de otros fenómenos físicos, ej. trayectorias balísticas, inercia, resonancia, transferencia de energía, momento, etc.
Modelar los fenómenos físicos con las propiedades eléctricas rinde una gran ventaja sobre usar modelos físicos:
* los componentes eléctricos son más pequeños y baratos; son más fácilmente construidos y ejercitados.
* Aunque de otra manera similar, los fenómenos eléctricos se pueden hacer que ocurran en marcos de tiempo convenientemente cortos.
Estos sistemas trabajan creando análogos eléctricos de otros sistemas, permitiendo a los usuarios predecir el comportamiento de los sistemas de interés al observar los análogos eléctricos. La más útil de las analogías fue la manera en que el comportamiento en pequeña escala podía ser representado con ecuaciones diferenciales e integrales, y por lo tanto podía ser usado para solucionar esas ecuaciones. Un ingenioso ejemplo de tal máquina fue el integrador de agua construido en 1928; un ejemplo eléctrico es la máquina de Mallock construida en 1941.
A diferencia de las computadoras digitales modernas, las computadoras analógicas no eran muy flexibles, y necesitan ser reconfiguradas (es decir reprogramadas) manualmente para cambiar de un problema a otro. Las computadoras analógicas tenían una ventaja sobre los primeros computadores digitales en que podían ser usadas para solucionar problemas complejos usando comportamientos análogos, mientras que las primeras tentativas con computadoras digitales fueron muy limitadas. Pero a medida que las computadoras digitales han venido siendo más rápidas y usaban memorias más grandes (ej, RAM o almacenamiento interno), han desplazado casi completamente a las computadoras analógicas, y la programación de computadores, o codificación ha surgido como otra profesión humana.
Puesto que las computadoras eran raras en esta era, las soluciones eran a menudo manuales en formas como gráficas en papel y nomogramas, que entonces podían producir soluciones analógicas a esos problemas, tales como la distribución de presiones y temperaturas en un sistema de calefacción.
Algunas de las computadoras analógicas más extensamente desplegadas incluyeron dispositivos para apuntar armas, tales como los sistemas de lanzamiento de torpedos o el Norden bombsight y Fire-control system para embarcaciones navales. Algunos de éstos permanecieron en uso por décadas después de la Segunda Guerra Mundial. Un ejemplo es el Mark I Fire Control Computer, desplegado por la Armada de los Estados Unidos en una variedad de naves desde los destructores y los acorazados.
Otros ejemplos incluyeron el Heathkit EC-1, y la computadora hidráulica MONIAC.
El arte de la computación analógica alcanzó su cenit con el Analizador diferencia, inventado en 1876 por James Thomson y construido por H. W. Nieman y Vannevar Bush en el MIT comenzando en 1927. Fueron construidas menos de una docena de estos dispositivos; el más poderoso fue construido en la Escuela Moore de Ingeniería Eléctrica en la Universidad de Pensilvania, donde también fue construido el ENIAC. Las computadoras electrónicas digitales, como el ENIAC, significaron el fin para la mayoría de las máquinas analógicas de computación, pero las computadoras analógicas híbridas, controladas por electrónica digital, permanecían en uso en los años 1950 y 1960, y siguieron más adelante en aplicaciones especializadas.

## Primeros computadores digitales

La era del computador moderno comenzó con un explosivo desarrollo antes y durante la Segunda Guerra Mundial, a medida que los circuitos electrónicos, los relés, los condensadores, y los tubos de vacío reemplazaron los equivalentes mecánicos y los cálculos digitales reemplazaron los cálculos análogos. Las máquinas como el Atanasoff–Berry Computer, Z3, Colossus, y el ENIAC fueron construidas a mano usando circuitos que contenían relés o válvulas (tubos de vacío), y a menudo usaron tarjetas perforadas o cintas perforadas para la entrada y como el medio de almacenamiento principal (no volátil).
En esta era, un número de diferentes máquinas fueron producidas con capacidades que constantemente avanzaban. Al principio de este período, no existió nada que se asemejara remotamente a una computadora moderna, excepto en los planes perdidos por largo tiempo de Charles Babbage y las visiones matemáticas de Alan Turing y otros. Al final de la era, habían sido construidos dispositivos como el EDSAC, y son considerados universalmente como computadores digitales. Definir un solo punto en la serie, como la "primera computadora", pierde muchos sutiles detalles.
El texto escrito por Alan Turing en 1936 probó ser enormemente influyente en la computación y ciencias de la computación de dos maneras. Su principal propósito era probar que había problemas (nombrados el problema de la parada) que no podían ser solucionados por ningún proceso secuencial. Al hacer eso, Turing proporcionó una definición de una computadora universal, una construcción que vino a ser llamada máquina de Turing, un dispositivo puramente teórico que formaliza el concepto de ejecución de algoritmo, reemplazando el engorroso lenguaje universal basado en aritmética de Kurt Gödel. Excepto por las limitaciones impuestas por sus almacenamientos de memoria finitos, se dice que las computadoras modernas son Turing completo, que es como decir que tienen la capacidad de ejecución de algoritmo equivalente a una máquina universal de Turing. Este tipo limitado de la cualidad de Turing completo es algunas veces visto como la capacidad umbral que separa las computadoras de uso general de sus precursores de propósito específico.
Para que una máquina de computación sea una computadora de propósito general práctica, debe haber algún mecanismo de lectura/escritura conveniente, como por ejemplo la cinta perforada. Para la completa versatilidad, la arquitectura de von Neumann usa la misma memoria para almacenar tanto los programas como los datos; virtualmente todas las computadoras contemporáneas usan esta arquitectura (o alguna variante). Mientras que es teóricamente posible implementar una computadora completa mecánicamente (como demostró el diseño de Babbage), la electrónica hizo posible la velocidad y más adelante la miniaturización que caracterizan las computadoras modernas.
En la era de la Segunda Guerra Mundial había tres corrientes paralelas en el desarrollo de la computadora, y dos fueron ignoradas en gran parte o deliberadamente mantenidas en secreto. La primera fue el trabajo alemán de Konrad Zuse. La segunda fue el desarrollo secreto de la computadora Colossus en el Reino Unido. Ninguna de éstas tuvieron mucha influencia en los varios proyectos de computación en los Estados Unidos. La tercera corriente de desarrollo de la computadora, el ENIAC y el EDVAC de Eckert y Mauchly, fue publicada extensamente.

### La serie Z de Konrad Zuse: Las primeras computadoras controladas por programa

Trabajando aisladamente en Alemania, en 1936 Konrad Zuse comenzó la construcción de sus primeras calculadoras de la serie Z que ofrecían memoria y programabilidad (limitada inicialmente). La Z1 de Zuse, que aunque puramente mecánica ya era binaria, fue finalizada en 1938. Nunca trabajó confiablemente debido a problemas con la precisión de las piezas.
La subsecuente máquina de Zuse, el Z3, fue finalizada en 1941. Estaba basada en relés telefónicos y trabajó satisfactoriamente. El Z3 se convirtió así en la primera computadora funcional, de todo propósito, controlada por programa. De muchas maneras era muy similar a las máquinas modernas, siendo pionera en numerosos avances, tales como números de coma flotante. El reemplazo del difícil de implementar sistema decimal, usado en el diseño temprano de Charles Babbage, por el más simple sistema binario, significó que las máquinas de Zuse eran más fáciles de construir y potencialmente más confiables, dadas las tecnologías disponibles en aquel tiempo. Esto a veces es visto como la razón principal por la que Zuse tuvo éxito donde Babbage falló.
Los programas fueron alimentados en el Z3 por medio de películas perforadas. Faltaban los saltos condicionales, pero desde los años 1990 se ha probado teóricamente que el Z3 seguía siendo un computador universal (ignorando sus limitaciones de tamaño físico de almacenamiento). En dos aplicaciones de patente de 1936, Konrad Zuse también anticipó que las instrucciones de máquina podían ser almacenadas en el mismo almacenamiento usado para los datos - la idea clave de lo que sería conocido como la arquitectura de von Neumann y fue implementada por primera vez en el posterior diseño del EDSAC británico (1949). Zuse también decía haber diseñado el primer lenguaje de programación de alto nivel, (Plankalkül), en 1945 (que fue publicado en 1948) aunque fue implementado por primera vez en 2000 por un equipo dirigido por Raúl Rojas en la Universidad Libre de Berlín, cinco años después de la muerte de Zuse.
Zuse sufrió reveses durante la Segunda Guerra Mundial cuando algunas de sus máquinas fueron destruidas en el curso de las campañas aliadas de bombardeos. Aparentemente su trabajo en gran parte siguió siendo desconocido a los ingenieros en el Reino Unido y los EE. UU. hasta mucho más tarde, aunque al menos la IBM estaba enterada de ellos pues financiaron a su compañía de lanzamiento de posguerra en 1946, a cambio de una opción sobre las patentes de Zuse.

### Colossus

Durante la Segunda Guerra Mundial, los británicos en Bletchley Park alcanzaron un número de éxitos al romper las comunicaciones militares alemanas cifradas. La máquina de cifrado alemana, Enigma, fue atacada con la ayuda de máquinas electromecánicas llamadas bombes. La bombe, diseñada por Alan Turing y Gordon Welchman, después de la bomba criptográfica polaca (1938), eliminaba ajustes posibles del Enigma al realizar cadenas deducciones lógicas implementadas eléctricamente. La mayoría de las posibilidades conducían a una contradicción, y las pocas restantes se podían probar a mano.
Los alemanes también desarrollaron una serie de sistemas de cifrado de teleimpresora, muy diferentes del Enigma. La máquina Lorenz SZ 40/42 fue usada para las comunicaciones de alto nivel del ejército, llamada "Tunny" por los británicos. Las primeras intercepciones de los mensajes Lorenz comenzaron en 1941. Como parte de un ataque contra los Tunny, el profesor Max Newman y sus colegas ayudaron a especificar el colossus. El Mk I colossus fue construido entre marzo y diciembre de 1943 por Tommy Flowers y sus colegas en el Post Office Research Station en Dollis Hill en Londres y después enviado a Bletchley Park.
El colossus fue el primer dispositivo de computación totalmente electrónico. El colossus usó una gran cantidad de válvulas (tubos de vacío). Tenía entrada de cinta de papel y era capaz de ser configurado para realizar una variedad de operaciones de lógica booleana en sus datos, pero no era Turing completo. Fueron construidos nueve Mk II Colossi (el Mk I fue convertido en un Mk II haciendo diez máquinas en total). Los detalles de su existencia, diseño, y uso fueron mantenidos secretos bien entrados los años 1970. Winston Churchill personalmente publicó una orden para su destrucción en piezas no más grandes que la mano de un hombre. debido a este secreto los Colossi no fueron incluidos en muchas historias de la computación. Una copia reconstruida de una de las máquinas Colossus está ahora en exhibición en Bletchley Park.

### Desarrollos norteamericanos

En 1937, Claude Shannon produjo su tesis magistral en el MIT que por primera vez en la historia implicaba el álgebra booleana usando relés y conmutadores electrónicos. La tesis de Shannon, intitulada A Symbolic Analysis of Relay and Switching Circuits (Un análisis simbólico de circuitos de conmutación y relés), esencialmente funda el diseño de circuitos digitales prácticos.
En noviembre de 1937, George Stibitz, entonces trabajando en los Laboratorios Bell, terminó una computadora basada en relés que calculaba con la adición binaria y apodó con el nombre de "Modelo K" (por "kitchen" (cocina), donde él la había ensamblado). A finales de 1938, los Laboratorios Bell autorizaron un programa de investigación completo con Stibitz al timón. Su Complex Number Calculator, terminado el 8 de enero de 1940, podía calcular números complejos. En una demostración del 11 de septiembre de 1940 en la conferencia de la American Mathematical Society en el Dartmouth College, Stibitz pudo enviar, al Complex Number Calculator, comandos remotos sobre líneas telefónicas por un teletipo. Fue la primera máquina de computación usada remotamente, en este caso sobre una línea telefónica. Algunos participantes en la conferencia que atestiguaron la demostración eran John von Neumann, John Mauchly, y Norbert Wiener, quien escribió sobre ello en sus memorias.
En 1939, John Vincent Atanasoff y Clifford E. Berry de Iowa State University desarrollaron el Atanasoff Berry Computer (ABC), una calculadora electrónica digital de propósito especial para solucionar sistemas de ecuaciones lineares. La meta original era solucionar 29 ecuaciones simultáneas de 29 incógnitas cada una, pero debido a errores en el mecanismo del perforador de tarjetas la máquina terminada solamente podía solucionar algunas ecuaciones. El diseño usaba más de 300 tubos de vacío para alta velocidad y empleaba para la memoria condensadores fijados en un tambor que rotaba mecánicamente. Aunque la máquina ABC no era programable, fue la primera en usar circuitos electrónicos. El co-inventor del ENIAC, John Mauchly, examinó el ABC en junio de 1941, y su influencia en el diseño de la posterior máquina ENIAC es una cuestión de controversia entre los historiadores del computador. El ABC fue en gran parte olvidado hasta que se convirtió en el foco del pleito legal Honeywell vs. Sperry Rand, la decisión invalidó la patente de ENIAC (y varias otras), entre muchas razones por haber sido anticipado por el trabajo de Atanasoff.
En 1939, en los laboratorios Endicott de la IBM comenzó el desarrollo del Harvard Mark I. Conocido oficialmente como el Automatic Sequence Controlled Calculator, el Mark I fue una computadora electromecánica de propósitos generales construida con el financiamiento de la IBM y con la asistencia del personal de la IBM, bajo dirección del matemático de Harvard, Howard Aiken. Su diseño fue influenciado por la Máquina Analítica de Babbage, usando ruedas de aritmética y almacenamiento decimal e interruptores rotatorios además de relés electromagnéticos. Era programable vía una cinta de papel perforado, y contenía varias unidades de cálculo trabajando en paralelo. Versiones posteriores contuvieron varios lectores de cinta de papel y la máquina podía cambiar entre los lectores basados en una condición. Sin embargo, la máquina no era absolutamente Turing completa. El Mark I fue trasladado a la universidad de Harvard y comenzó la operación en mayo de 1944.

### ENIAC

El ENIAC (Electronic Numerical Integrator and Computer), construido en los Estados Unidos, fue el primer computador electrónico de propósitos generales. Construido bajo la dirección de John Mauchly y John Presper Eckert en la Universidad de Pensilvania, era 1000 veces más rápido que sus contemporáneos. El desarrollo y la construcción del ENIAC duró desde 1943 hasta estar operativo completamente al final de 1945.
Cuando su diseño fue propuesto, muchos investigadores creyeron que los millares de delicadas válvulas (es decir tubos de vacío) se quemarían tan frecuentemente que el ENIAC estaría con tanta frecuencia inactivo por reparaciones que sería inútil. Sin embargo, era capaz de miles de operaciones por segundo por horas enteras entre las fallas de válvulas. Validó abiertamente el uso de la electrónica para la computación en gran escala. Esto fue crucial para el desarrollo del computador moderno.
El ENIAC era inequívocamente un dispositivo Turing completo. Sin embargo, un "programa" en el ENIAC era definido por el cableado mismo, enchufes e interruptores, una decepcionante disparidad con las máquinas electrónicas de programa almacenado que se desarrollaron a partir del ENIAC. Programarlo significaba recablearlo. Las mejoras completadas en 1948 hicieron posible ejecutar programas almacenados en la "memoria" fija de la tabla de funciones (un gran panel portátil de interruptores decimales), que hizo de la programación un esfuerzo más sencillo y sistemático.

## La máquina de von Neumann de primera generación y otros trabajos

Incluso antes de que el ENIAC estuviera terminado, Eckert y Mauchly reconocieron sus limitaciones y comenzaron el diseño de una nueva computadora, el EDVAC, que debía tener programa almacenado. John von Neumann escribió un reporte de amplia circulación que describía el diseño del EDVAC en el que tanto los programas como los datos de trabajo estaban almacenados en un solo espacio de almacenamiento unificado. Este diseño básico, que sería conocido como la arquitectura de von Neumann, serviría como la base para el desarrollo de las primeras computadoras digitales de propósito general realmente flexibles.
En esta generación, el almacenamiento temporal o de trabajo fue proporcionado por líneas de retardo acústico, que usaban el tiempo de propagación del sonido a través de un medio como el mercurio líquido (o a través de un alambre) para almacenar datos brevemente. Una serie de pulsos acústicos eran enviados a lo largo de un tubo; después de un tiempo, en lo que el pulso alcanzaba el extremo del tubo, el circuito detectaba si el pulso representaba un 1 o un 0 y causaba al oscilador volver a reenviar el pulso. Otros usaron los tubos de Williams, que utilizan la capacidad de un tubo de imagen de televisión para almacenar y de recuperar datos. Por 1954, la memoria de núcleo magnético rápidamente desplazó la mayoría de las otras formas de almacenamiento temporal, y dominó el campo hasta mediados de los años 1970.
La primera máquina funcional de von Neumann fue el "Baby" ("Bebé") de Mánchester o Small-Scale Experimental Machine, construida en la universidad de Mánchester en 1948; fue seguida en 1949 por el computador Manchester Mark I que funcionó como un sistema completo usando el tubo Williams y el tambor magnético para la memoria, y también introdujo los registros de índice. El otro competidor para el título de "primer computador digital de programa almacenado" había sido el EDSAC, diseñado y construido en la Universidad de Cambridge. Operacional en menos de un año después de la Manchester "Baby", también era capaz de abordar problemas reales. EDSAC fue inspirado de hecho por los planes para el EDVAC (Electronic Discrete Variable Automatic Computer), el sucesor del ENIAC; estos planes ya estaban en el lugar correcto para el tiempo en que el ENIAC fue operacional exitosamente. A diferencia del ENIAC, que usaba el procesamiento paralelo, el EDVAC usó una sola unidad de procesamiento. Este diseño era más simple y fue el primero en ser implementado en cada exitosa onda de miniaturización, y creciente confiabilidad. Algunos ven al Manchester Mark I/EDSAC/EDVAC como las "Evas" de las cuales casi todas las computadoras actuales derivan su arquitectura.
La primera computadora programable universal en la Unión Soviética fue creada por un equipo de científicos bajo dirección de Sergei Alekseyevich Lebedev del Instituto Kiev de Electrotecnología, Unión Soviética (ahora Ucrania). El computador MESM (МЭСМ, Small Electronic Calculating Machine) estuvo operacional en 1950. Tenía cerca de 6.000 tubos de vacío y consumida 25 kW de energía. Podía realizar aproximadamente 3000 operaciones por segundo. Otra máquina temprana fue el CSIRAC, un diseño australiano que corrió su primer programa de prueba en 1949. CSIRAC es el computador más viejo todavía en existencia y el primero en haber sido usado para ejecutar música digital.
En octubre de 1947, los directores de J. Lyons & Company, una compañía británica del famosa por sus tiendas de té (pequeños restaurantes) pero con fuertes intereses en las nuevas técnicas de gerencia de oficinas, decidido a tomar un papel activo en promover el desarrollo comercial de los computadores. Por 1951 el computador LEO I estuvo operacional y corrió el primer job de computador de oficina rutinario regular del mundo.
La máquina de la universidad de Mánchester se convirtió en el prototipo para la Ferranti Mark I. La primera máquina Ferranti Mark I fue entregada a la Universidad en febrero de 1951 y por lo menos otras nueve fueron vendidas entre 1951 y 1957.
En junio de 1951, el UNIVAC I (Universal Automatic Computer) fue entregado a la Oficina del Censo de los Estados Unidos. Aunque fue fabricada por Remington Rand, la máquina con frecuencia fue referida equivocadamente como la "IBM UNIVAC". Finalmente Remington Rand vendió 46 máquinas en más de $1 millón por cada una. El UNIVAC era el primer computador 'producido en masa'; todos los predecesores habían sido unidades 'únicas en su tipo'. Usó 5.200 tubos de vacío y consumía 125 kW de energía. Usó para la memoria una línea de retardo de mercurio capaz de almacenar 1000 palabras de 11 dígitos decimales más el signo (palabras de 72 bits). A diferencia de las máquinas de la IBM no fue equipado de un lector de tarjetas perforadas sino con una entrada de cinta magnética de metal al estilo de los años 1930, haciéndola incompatible con algunos almacenamientos de datos comerciales existentes. La cinta de papel perforado de alta velocidad y las cintas magnéticas del estilo moderno fueron usados para entrada/salida por otras computadoras de la era.
En noviembre de 1951, la compañía J. Lyons comenzó la operación semanal de un Job de valuaciones de panadería en el LEO (Lyons Electronic Office). Este fue la primera aplicación de negocio en tener vida en un computador de programa almacenado.
En 1952, la IBM anunció público el IBM 701 Electronic Data Processing Machine, la primera en su excitosa 700/7000 series y su primer computador IBM mainframe. El IBM 704, introducido en 1954, usó la memoria de núcleo magnético, que se convirtió en el estándar para las máquinas grandes. El primer lenguaje de programación de propósitos generales de alto nivel implementado, FORTRAN, también fue desarrollado en la IBM para los 704 durante 1955 y 1956 y lanzado a principios de 1957. (El diseño en 1945 del lenguaje de alto nivel Plankalkül, de Konrad Zuse, no fue implementado en aquel tiempo).
En 1954 la IBM introdujo un computador más pequeño y más económico que probó ser muy popular. El IBM 650 pesaba más de 900 kg, la fuente de alimentación pesada alrededor 1.350 kg y ambos fueron contenidos en gabinetes separados de más o menos 1,5 x 0,9 x 1,8 metros. Costaba $500.000 o podía ser arrendada por $3500 al mes. Su memoria de tambor tenía originalmente solamente 2000 palabras de diez dígitos, y requería una programación arcana para una eficiente computación. Las limitaciones de la memoria tales como ésta iban a dominar la programación por décadas posteriores, hasta la evolución de las capacidades del hardware y un modelo de programación que eran más benévolos al desarrollo del software.
En 1955, Maurice Wilkes inventó la microprogramación, que fue posteriormente ampliamente usada en los CPUs y las unidades de punto flotante de los mainframes y de otras computadoras, tales como las series del IBM 360. La microprogramación permite al conjunto de instrucciones base ser definido o extendido por programas incorporados en el hardware (ahora a veces llamado como firmware, microcódigo, o milicódigo).
En 1956, la IBM vendió su primer sistema de disco magnético, RAMAC (Random Access Method of Accounting and Control). Usó 50 discos de metal de 24 pulgadas (610 mm), con 100 pistas por lado. Podía almacenar 5 megabytes de datos y costaba $10 000 por megabyte. (En 2006, el almacenamiento magnético, en la forma de discos duros, costaba menos de un décimo de un centavo por megabyte).

## Segunda generación: Transistores

Inicialmente, se creía que serían producidos o utilizados muy pocos computadores. Esto era debido en parte a su tamaño, al costo, y a la falta de previsión en los tipos de usos a los que podían ser aplicados los computadores.
En 1951 inicia la primera máquina de cálculo hecha en serie y hay un gran desarrollo de estas máquinas, debido a la introducción de nuevas técnicas, de nuevas unidades y métodos de programación. En 1953 el número de máquinas de cálculo en todo el mundo se eleva hasta cerca de 100 unidades.
En 1958 solamente los Estados Unidos tienen cerca de 2500 modelos en total.
En Italia la primera máquina de cálculo fue colocada en 1954 en la Universidad Politécnico de Milán y solamente en 1957 es usada por una firma. En 1958 es colocada en Italia un décimo de las máquinas de cálculo, que apoyan cerca de 700 empleados mecanográficos. En la conclusión de la Primera Generación, al final de los años 1950, las máquinas electrónicas de cálculo han ganado la confianza de sus usuarios. Al principio eran consideradas, más como instrumentos de cálculo y útiles para la investigación en la universidad, que máquinas útiles por sus capacidades de procesar información, para las corporaciones o las necesidades operativas de las firmas.
Las máquinas de cálculo superan más y más las restricciones debido a alguna construcción y técnicas de programación no refinadas.
Su uso no representa más una "aventura" para las firmas y las corporaciones que las colocan, sino que responden a la necesidad de solucionar los varios problemas operativos.
Alrededor de finales de los años 1950 los tubos fueron sustituidos por transistores. Esto levanta lo que se conoce como la "segunda generación" de máquinas de cálculo.
Usando los transistores y mejorando las máquinas y los programas, la máquina de cálculo se vuelve más rápida y económica y esto difunde en diez mil modelos en todo el mundo. Por la situación económica general cambiante, el continuo crecimiento de las firmas, la introducción de nuevas técnicas de organización y la gerencia de una firma, pasa de un uso prevalente de contabilidad y estadístico a algunas aplicaciones más complejos que se refieren a todos los sectores de activos.
El transistor fue realizado en 1948 por los norteamericanos John Bardeen, Walter Brattain y William Shockley que compartieron por su invención el Premio Nobel de Física de 1956. El transistor es un dispositivo electrónico hecho de cristal de silicio o germanio en los que diferentes átomos de materiales son oportunamente insertados.
Para algunos valores de tensión eléctrica a la cual es expuesta el transistor, tiene la capacidad de transmitir o no la corriente, así que puede representar el 1 o el 0 que son reconocidos por la máquina. Comparado a las válvulas, el transistor tiene muchos ventajas: tienen un precio de fabricación más pequeño y una velocidad diez veces mayor, pasando de la posición 1 a 0 en algunas millonésimas de segundo. Los tamaños de un transistor son de algunos milímetros comparado a los muchos centímetros del tubo de vacío. Las direcciones de operación segura son incrementadas porque los transistores, trabajando "en frío", evitan las roturas que eran frecuentes en las válvulas debido al calentamiento. Así, las máquinas son construidas con decenas de miles de circuitos complejos que son incluidos en un pequeño espacio.
Entre los sistemas de la segunda generación marcamos el IBM 1401, que fue instalado desde 1960 hasta 1964 en más de cientos de miles de modelos, monopolizando alrededor de un tercio del mercado mundial. En este período también estuvo la única tentativa italiana: el ELEA de Olivetti, producido en 110 modelos.
El desarrollo notable de las máquinas de cálculo y de sus aplicaciones en este período no es debido solamente a la característica del CPU (Unidad Central de Proceso), sino que también a las continuas mejoras hechas en las memorias auxiliares y en las unidades para la toma y emisión de datos.
Las memorias de discos pueden manejar decenas de millones de letras o dígitos. Más unidades pueden ser conectadas al mismo tiempo a la máquina de cálculo, llevando así la capacidad de memoria total a algunos cientos de millones de caracteres.
Cerca de los discos que están conectados firmemente con la unidad central son introducidas algunas unidades en las cuales las pilas de discos son móviles y pueden ser fácilmente reemplazados por otra pila en pocos segundos.
Incluso si la capacidad de discos móviles es más pequeña comparada a las fijas, su intercambiabilidad garantiza una capacidad ilimitada de datos que están listos para la elaboración.
Las máquinas de cálculo de la segunda generación, a través de un dispositivo particular hecho para ordenar los datos interiores, pueden sobreponer diferentes operaciones, esto significa leer y perforar las tarjetas al mismo tiempo, ejecutar cálculos y tomar decisiones lógicas, escribir y leer la información en cintas magnéticas.
Para garantizar el continuo cambio de información entre el centro y la periferia, surgen las unidades terminales que tienen que transmitir los datos a la máquina de cálculo central que también puede estar a una distancia de cientos de kilómetros gracias a una conexión telefónica.

## Post-1960: Tercera generación y más allá

La explosión en el uso de computadores comenzó con los computadores de la 'tercera generación'. Estos dependían en la invención independiente de Jack St. Clair Kilby y Robert Noyce, el circuito integrado (o microchip), que condujo más adelante a la invención del microprocesador, por Ted Hoff y Federico Faggin en Intel.
Durante los años 1960 había un considerable solapamiento entre las tecnologías de la segunda y la tercera generación. Tan tarde como en 1975, Sperry Univac continuaba la fabricación de máquinas de segunda generación como el UNIVAC 494.
El microprocesador condujo al desarrollo del microcomputador, computadores pequeños, de bajo costo, que podía ser poseído por individuos y pequeñas empresas. Los primeros microcomputadores aparecieron en los años 1970, y llegaron a ser ubicuos en los años 1980 y más allá. Steve Wozniak, cofundador de Apple Computer, es acreditado por desarrollar el primer computador casero comercializado masivamente. Sin embargo, su primera computadora, el Apple I, vino algún tiempo después del KIM-1 y el Altair 8800, y la primera computadora de Apple con capacidades de gráficos y de sonidos salió bien después del Commodore PET. La computación se ha desarrollado con arquitecturas de microcomputador, con características añadidas de sus hermanos más grandes, ahora dominantes en la mayoría de los segmentos de mercado.
Una indicación de la rapidez del desarrollo de este campo puede ser deducido por el artículo seminal de Burks, Goldstein, von Neuman, documentado en la revista Datamation de septiembre-octubre de 1962, que fue escrito, como versión preliminar 15 años más temprano. (ver las referencias abajo). Para el momento en que cualquier persona tuviera tiempo para escribir cualquier cosa, ya era obsoleto.