# Historia de las ciencias de la computación

La historia de la ciencia de la computación comenzó mucho antes de la moderna disciplina de ciencias de la computación que surgió en el siglo XX, y se insinúa en los siglos anteriores. La progresión de las invenciones mecánicas, su desarrollo fue grande que la ciencia de la computación se separó de las matemáticas formó un gran campo académico y la base de una masiva industria mundial.

## Primeros Pasos

La primera herramienta conocida para su uso en el cálculo fue el ábaco, desarrollado en el período 2700-2300 AC en Sumeria. El ábaco de Sumeria consistía en una tabla de columnas sucesivas que delimitan las órdenes sucesivas de magnitud de su sistema de numeración sexagesimal. Su estilo original de uso era por las líneas trazadas en la arena con guijarros. Ábacos de un diseño más moderno todavía se utilizan como herramientas de cálculo en la actualidad.
El Mecanismo de Anticitera se cree que es la primera computadora analógica mecánica conocida. Fue diseñado para calcular las posiciones astronómicas. Fue descubierto en 1901 en el naufragio de Antikythera fuera de la isla griega de Antikythera, entre Citera y Creta, y se ha fechado 100 años antes de Cristo. Artefactos tecnológicos de complejidad similar no reaparecieron hasta el siglo XIV, cuando los relojes astronómicos mecánicos aparecieron en Europa.
Los dispositivos mecánicos de computación analógica aparecieron unos mil años después en el mundo islámico medieval. Ejemplos de dispositivos de este período incluyen el Equatorium por Arzachel, el Astrolabio mecánico de engranajes de Abu Rayhan al-Biruni, y el Torquetumpor Jabir ibn Aflah. Los ingenieros musulmanes construyeron una serie de autómatas, incluyendo algunos autómatas musicales que podían ser "programados" para reproducir diferentes patrones musicales. Estos dispositivos fueron desarrollados por los hermanos Banu Musa Al-Jazari. Matemáticos musulmanes también hicieron importantes avances en la criptografía, como el desarrollo del criptoanálisis y análisis de frecuencia por Alkindus.
Cuando John Napier descubre los logaritmos para fines de cálculo en el siglo 1841 suscitó un período de progreso considerable por los inventores y los científicos en la fabricación de herramientas de cálculo. En 1623 Wilhelm Schickard diseñó una máquina de calcular, pero abandonó el proyecto, cuando el prototipo que había empezado a construir fue destruido por un incendio en 1624. Hacia 1640, Blaise Pascal, un matemático francés de renombre, construyó el primer dispositivo mecánico para sumar sobre la base de un diseño descrito por Herón de Alejandría, matemático griego. Entonces en 1672 Gottfried Wilhelm Leibniz inventó la máquina de Leibniz que completó en 1695.
En 1837 Charles Babbage describió por primera vez su Máquina Analítica que se acepta como el primer diseño de una computadora moderna. La máquina analítica tenía memoria expandible, una unidad aritmética y lógica de las capacidades de procesamiento capaces de interpretar un lenguaje de programación con bucles y bifurcaciones condicionales. Aunque nunca se construyó, el diseño se ha estudiado ampliamente y se entiende que es Turing completa. El motor analítico habría tenido una capacidad de memoria de menos de 1 kilobyte y una velocidad de reloj de menos de 10 Hertz.
Un avance considerable en las matemáticas y la teoría electrónica fue requerido antes de que las primeras computadoras modernas pudieran ser diseñadas.

## Lógica Binaria

En 1703, Gottfried Wilhelm Leibniz desarrolló la lógica en un sentido matemático formal, con sus escritos sobre el sistema de numeración binario. En su sistema, los unos y los ceros también representan los valores verdaderos y falsos o los estados apagado y encendido. Pero tuvo que pasar más de un siglo antes de que George Boole publicara su álgebra de Boole en 1854 con un sistema completo que permitió que los procesos computacionales pudieran ser matemáticamente modelables.
Por esos tiempos, los primeros dispositivos mecánicos que funcionaban con un patrón binario se habían inventado. La revolución industrial había impulsado la mecanización de muchas tareas, y esto incluía el tejido. El telar controlado por tarjetas perforadas de Joseph Marie Jacquard en 1801, donde un agujero perforado en la tarjeta indica un uno binario y un lugar sin perforar indica un cero binario. El telar de Jacquard estaba lejos de ser un ordenador, pero sí ponía de manifiesto que las máquinas podían ser controladas por los sistemas binarios.

## El nacimiento de las Ciencias de la Computación

Antes de la década de 1920, las computadoras (a veces computadores) fueron empleados humanos que realizaban los cálculos. Estaban por lo general bajo la dirección de un físico. Miles de computadores trabajaban en el comercio, el gobierno y los centros de investigación. La mayoría de estos computadores eran mujeres, y eran conocidos por tener un grado en cálculo. Algunos realizando cálculos de astronomía para los calendarios.
Después de la década de 1920, la expresión máquina de computación hacía referencia a cualquier máquina que realizara el trabajo de un computador humano, especialmente los realizados en conformidad con los métodos eficaces de la tesis de Church-Turing. La tesis establecía que un método matemático es eficaz si se podrían enunciar como una lista de instrucciones que puedan ser seguidos por un empleado humano con lápiz y papel, durante el tiempo que sea necesario, y sin ingenio ni idea.
Las máquinas que calculaban con valores continuos se conocían como de tipo analógico. Estas utilizaban una maquinaria que representaba cantidades numéricas continuas, como el ángulo de rotación de un eje o diferencia de potencial eléctrico.
Las máquinas digitales, en contraste a las analógicas, fueron capaces de representar un estado de un valor numérico y almacenar cada dígito individual. Las máquinas digitales utilizaban motores de diferencia o relés antes de la invención de dispositivos de memoria más rápidos.
La frase máquina de computación gradualmente desapareció, después de la década de 1940, a sólo ordenador o computadora. Estos equipos fueron capaces de realizar los cálculos que se realizaron por los empleados humanos anteriores.
Dado que los valores almacenados en las máquinas digitales no estaban relacionados con propiedades físicas como los dispositivos analógicos, un ordenador lógico, basado en equipos digitales, era capaz de hacer cualquier cosa que podría ser descrito "puramente mecánico." La teórica Máquina de Turing, creada por Alan Turing, es un dispositivo hipotético teorizado con el fin de estudiar las propiedades de este hardware.

## Surgimiento de una disciplina

Los fundamentos matemáticos de la actual ciencia de la computación fueron propuestos por Kurt Gödel con su teorema de incompletitud (1931). En este teorema, demostró que había límites a lo que puede ser probado y refutado dentro de un sistema formal. Esto condujo a que Gödel y otros trabajaran para definir y describir estos sistemas formales, incluyendo conceptos como funciones recursivas y el cálculo lambda.
1936 fue un año clave para las ciencias de la computación. Alan Turing y Alonzo Church independientemente, y también juntos, presentaron la formalización de un algoritmo, con límites en lo que puede ser calculado, y un modelo "puramente mecánico" para la computación. Estos temas son cubiertos por lo que ahora se llama la tesis de Church-Turing, una hipótesis sobre la naturaleza de dispositivos de cálculo mecánicos, como los equipos electrónicos. La tesis afirma que cualquier cálculo que sea posible se puede realizar por un algoritmo que se ejecuta en una computadora, a condición de que el tiempo y el espacio de almacenamiento se encuentran disponibles.
* Estatua de Alan Turing
Turing también se presenta con la tesis de una descripción de la máquina de Turing. Una máquina de Turing tiene una cinta de longitud infinita y un cabezal de lectura/escritura, que puede moverse a lo largo de la cinta, cambiando los valores a lo largo del camino. Es evidente que tal máquina nunca podría ser construida, pero sin embargo, el modelo puede simular el cómputo de un algoritmo que puede ser ejecutado en un equipo moderno.
Turing es tan importante para la informática que su nombre también aparece en el Premio Turing y la prueba de Turing. Él contribuyó en gran medida a que los británicos pudieran exitosamente romper códigos secretos en la Segunda Guerra Mundial, y continuó en el diseño de computadoras y software a través de la década de 1940, pero se suicidó en 1954.
En un simposio en gran escala de máquinas digitales en Cambridge, Turing dijo: "Estamos tratando de construir una máquina para hacer todo tipo de cosas diferentes, simplemente mediante la programación en lugar de mediante la adición de un aparato extra".
En 1941, Konrad Zuse desarrolló el primer programa funcional controlado por un equipo Turing-completo, el Z3. Zuse, se destacó también por la máquina de calcular S2, considerado el primer proceso controlado por ordenador. Él fundó una de las primeras empresas informáticas en el año 1941, con la producción del Z4, que se convirtió en la primera computadora comercial. En 1946, diseñó el primer encuentro de alto nivel de lenguaje de programación, Plankalkül. En 1969, Zuse sugirió el concepto de un universo basado en el cálculo en su libro Rechnender Raum.
* Konrad Zuse en 1992
En 1948, el primer ordenador práctico que podría ejecutar programas almacenados, basado en el modelo de la máquina de Turing, había sido construido - el Bebé Manchester (Manchester Baby).
En 1950, el Laboratorio Nacional de Física de Gran Bretaña completó Pilot ACE, un ordenador de pequeña escala programable, basada en la filosofía de Turing.

## Shannon y la teoría de la información

Antes y durante la década de 1930, los ingenieros eléctricos fueron capaces de construir circuitos electrónicos para resolver problemas matemáticos y de la lógica, pero la mayoría lo hizo de una manera ad hoc, carente de rigor teórico. Esto cambió con la publicación de Claude Elwood Shannon, de sus tesis de maestría en 1937, Un Análisis Simbólico de relé y circuitos de conmutación. Al tiempo que toma una clase de filosofía de pregrado, Shannon había estado expuesto a la obra de Boole, y reconoció que podría ser utilizada para organizar los relés electromecánicos (luego se utilizan en teléfonos conmutadores de enrutamiento) para resolver problemas de lógica. Este concepto, de la utilización de las propiedades de los interruptores eléctricos para hacer la lógica, es el concepto básico que subyace en todos los equipos electrónicos digitales, y su tesis se convirtió en la base de diseño práctico de circuitos digitales cuando se hizo ampliamente conocido entre la comunidad de ingeniería eléctrica durante y después de la Segunda Segunda Guerra Mundial.
Shannon pasó a fundar el campo de la teoría de la información con su artículo titulado Una teoría matemática de la comunicación publicado en 1948, que aplicó la teoría de la probabilidad para el problema de cómo codificar mejor la información que el emisor quiere transmitir. Este trabajo es uno de los fundamentos teóricos para muchas áreas de estudio, incluyendo la compresión de datos y criptografía.

## Wiener y Cibernética

A partir de experimentos con sistemas antiaéreos que interpretaban las imágenes de radar para detectar aviones enemigos, Norbert Wiener acuñó el término cibernética de la palabra griega que significa "timonel". Publicó "Cibernética" en 1948, que influyó en la inteligencia artificial. Wiener también comparó cómputo, máquina de cómputo, dispositivos de memoria, y otras similitudes cognitivas con su análisis de las ondas cerebrales.
El primer fallo (bug) real de una computadora fue una polilla. La cual fue atrapada en medio de los relés en el Harvard Mark II.