La historia de la informática es la historia de la ciencia del mismo nombre . Tiene orígenes muy antiguos, ya que los mecanismos para automatizar el procesamiento de datos y las operaciones aritméticas ya eran conocidos por los babilonios alrededor del siglo X aC , en India y en China quizás incluso antes. En un sentido moderno, sin embargo, surge sobre todo del trabajo de precursores como Pascal y Gottfried Leibniz , iniciadores como Babbage , Ada Lovelace , Zuse , Atanasoff , Alan Turing y Howard Aiken , creadores de los primeros proyectos computacionales a gran escala. como de Finetti , von Neumann y Wiener .
El instrumento de cálculo más antiguo que se conoce fue el ábaco que, entre los pueblos antiguos ( babilonios , chinos , griegos , romanos ), era una tablilla con ranuras numeradas que contenían piedras móviles, convenientemente dispuestas para poder realizar los cálculos . [1] De los tipos más antiguos y medievales deriva el ábaco con bolas ensartadas en varillas de madera o hilos metálicos, llamado ábaco , que se utiliza para cuentas elementales. [1] El suan-pa , o ábaco chino, todavía se usa entre los pueblos del Lejano Oriente . [1]
En el primer milenio antes de Cristo , se inventaron los primeros sistemas diferenciales en China . [2] Se han encontrado en carros que se remontan a este período. [2]
En el siglo V a. C. , en la India antigua , el gramático Pāṇini formuló las reglas de la gramática del sánscrito en 3959 en la obra Aṣṭādhyāyī , que es altamente sistematizada y técnica. Pāṇini empleó metarregulaciones , transformaciones y recursiones . [3]
La máquina de Anticitera , también conocida como mecanismo de Anticitera, es la calculadora mecánica más antigua que se conoce , datada entre el 150 y el 100 a. C. [4] o, según hipótesis más recientes, el 250 a. C. [5] [ 6] por ruedas dentadas , que se utilizaba para calcular la salida del sol , las fases de la luna , los movimientos de los cinco planetas entonces conocidos, los equinoccios , los meses , los días de la semana y -según un estudio publicado en Nature [7] - las fechas de los juegos olímpicos .
ábaco romano
ábaco chino
Parte del mecanismo de Antikythera
Los dispositivos mecánicos analógicos para computación aparecieron nuevamente un milenio después, en el mundo islámico medieval gracias a los astrónomos árabes, como el astrolabio mecánico de Abū Rayhān al-Bīrūnī [8] y el torqueto de Jabir ibn Aflah [9] . Según Simon Singh , los matemáticos árabes también hicieron importantes contribuciones a la criptografía , basta pensar en el desarrollo del criptoanálisis y el análisis de frecuencias de Al-Kindi . [10] [11] Algunas máquinas programables también fueron inventadas por ingenieros árabes, como la flauta automática de los hermanos Banū Mūsā [12] , o los autómatas y el reloj que usaba la pérdida de peso de una vela encendida para medir el tiempo, por Ibn al-Razzas al-Jazari [13] . En la Europa del siglo XIV aparecieron artefactos tecnológicos de complejidad similar, como los relojes astronómicos mecánicos.
Desde que se introdujeron los logaritmos a principios del siglo XVII (cuando el escocés Napier publicó las primeras Tablas de logaritmos [1] ), siguió un período de considerable progreso en la instrumentación para el cálculo automático, gracias a inventores y científicos.
En 1623 , Wilhelm Schickhard diseñó una máquina calculadora, pero abandonó el diseño cuando el prototipo que había comenzado a construir fue destruido en un incendio en 1624. [14] Alrededor de 1640, Blaise Pascal , un destacado matemático francés, construyó la Pascalina , un dispositivo mecánico. basado en un diseño del matemático griego Héroe de Alejandría . [15] Más tarde, en 1672, Gottfried Wilhelm Leibniz inventó el contador escalonado , que completó en 1694. [16]
En 1702, Leibniz desarrolló la lógica como disciplina matemática y formal, con sus escritos sobre el sistema numérico binario . En su sistema, el uno y el cero representan valores verdaderos y falsos o los estados de encendido y apagado . Pero George Boole tardará más de un siglo en publicar su propio álgebra booleana en 1854 [17] , creando un sistema en el que es posible tratar cualquier relación lógica mediante el uso de fórmulas algebraicas [18] . Las operaciones (como suma, resta y multiplicación) se reemplazan por operaciones lógicas con valores de conjunción, disyunción y negación, mientras que los únicos números utilizados, 1 y 0, asumen los significados de verdadero y falso, respectivamente. [18]
A partir de este momento se inventarán los primeros dispositivos mecánicos guiados por un patrón binario . La Revolución Industrial impulsó la mecanización de muchas actividades, incluido el tejido . Las tarjetas perforadas controlaban el telar de Joseph Marie Jacquard en 1801 , donde un agujero en la tarjeta indicaba un uno binario y, en consecuencia, un punto sin perforar indicaba un cero binario . El telar de Jacquard distaba mucho de ser una computadora moderna , pero demostró que las máquinas podían ser impulsadas por sistemas binarios. [17]
Réplica de la máquina de Schickard
Ejemplar Pascalina
El contador escalonado de Leibniz
Charles Babbage es a menudo reconocido como uno de los primeros pioneros de la computación automática. Babbage ideó una máquina computacional automática muy compleja, la máquina diferencial , que logró crear con gran dificultad, también debido a las limitaciones de la mecánica del tiempo. Gracias a un método conocido como las diferencias, particularmente adecuado para ser expresado en términos mecánicos, Babbage creó un sistema para la ejecución automática de los cálculos necesarios para la compilación de las tablas matemáticas . [19]
Luego ideó, partiendo de las tarjetas perforadas del Jacquard francés [19] , una nueva máquina, la máquina analítica : para ella, identificó una unidad de computación numérica (diríamos un procesador ), una unidad de control de ejecución , una memoria para almacenar resultados intermedios y un dispositivo de salida para mostrar el resultado del cálculo.
Su ayudante, Ada Lovelace Byron , hija del poeta inglés George Byron , ideó un método para programar la máquina, al menos a nivel teórico, y por ello es considerada la primera programadora de la historia (el artículo fue publicado en 1843). [19] En su honor, en la década de 1980 , se creó un lenguaje de programación llamado ADA .
El motor analítico de Babbage, extremadamente grande y costoso de construir, nunca se completó debido a la falta de fondos. [19] Sin embargo, se había abierto un camino, aunque solo será con el advenimiento de la electrónica que la revolución de la computación automática, iniciada 2300 años antes, se convertirá en un fenómeno planetario.
Charles Babbage
Parte de la máquina diferencial de Charles Babbage
Modelo de una parte del motor analítico de Babbage en exhibición en el Museo de Ciencias de Londres
Tarjetas perforadas para el motor analítico
Alan Turing es famoso por haber contribuido decisivamente, durante la Segunda Guerra Mundial , a la empresa de descifrar los mensajes codificados que utilizaban los alemanes con su máquina Enigma . [13] Pero esta actividad suya acabó eclipsando su papel fundamental como padre de la informática , en una época en la que esta disciplina aún no tenía nombre y los ordenadores realizaban tareas apenas superiores a las de una calculadora de sobremesa.
Centrando su investigación en la " computabilidad ", es decir, la evaluación de la posibilidad de que una máquina realice determinadas operaciones, con poco más de veinte años definió los límites teóricos de la informática actual y futura. [20] Sus investigaciones posteriores no podían dejar de investir el campo de lo que luego se denominaría inteligencia artificial : el famoso test que lleva su nombre sigue en el centro del debate, muy abierto, sobre la capacidad de las máquinas para competir con las mente humana. [20]
Pero las bases matemáticas de la informática moderna las sentó Kurt Gödel con sus teoremas de incompletitud de 1931. El primero afirma la indeterminabilidad de la coherencia de cualquier sistema matemático que tenga números naturales en su formalización, es decir , el infinito , es decir la imposibilidad de construir sistemas dentro de las matemáticas cuyos principios, o axiomas , no sean contradictorios entre sí. [20] Junto con el segundo, de 1930, que afirma la completitud semántica de la lógica de predicados , demostrando que, si una fórmula es válida, entonces puede demostrarse en un número finito de pasos, los dos teoremas representan una piedra angular de trascendencia histórica en el campo de la lógica matemática , con importantes implicaciones también de carácter filosófico . [20] En cualquier caso, condujeron a la definición y descripción de estos sistemas formales, incluyendo conceptos como funciones recursivas , cálculo lambda , máquina universal de Turing , sistemas de Post . [21]
En 1936, Alan Turing y Alonzo Church introdujeron la formalización de un algoritmo , con límites en lo que se podía calcular, así como un modelo "puramente mecánico" para la computación [20] . Esto se convirtió en la tesis de Church-Turing , una hipótesis sobre la naturaleza de los dispositivos informáticos mecánicos, como las calculadoras electrónicas . Esta tesis establece que cualquier cálculo (que sea posible) se puede realizar a través de un algoritmo instalado en una computadora, asumiendo que hay suficiente tiempo y espacio de almacenamiento disponible.
En el mismo año, Turing también publicó su seminario sobre la ' máquina de Turing ', que es una máquina calculadora digital abstracta que ahora se llama simplemente la ' máquina universal de Turing '. Esta máquina consagró el principio de la computadora moderna y representó el lugar de nacimiento del concepto de " computadora de programa almacenado ", que ahora es utilizado por prácticamente todas las computadoras modernas. [22] Estas máquinas hipotéticas fueron diseñadas para determinar formalmente, matemáticamente, lo que podría calcularse, teniendo en cuenta las limitaciones en el poder de cómputo. Si una máquina de Turing puede completar una actividad, se considera "Turing computable" o más comúnmente " Turing completo ". [23]
A partir de la década de 1930 , los ingenieros eléctricos pudieron construir circuitos electrónicos para resolver problemas lógicos y matemáticos, pero muchos lo hicieron ad hoc , descuidando cualquier rigor teórico. Esto cambió con la teoría del circuito interruptor del ingeniero de NEC Akira Nakajima , publicada en esos años. De 1934 a 1936, Nakajima publicó una serie de documentos que muestran que el álgebra booleana de dos valores , que descubrió de forma independiente ( solo conoció el trabajo de George Boole en 1938), puede describir el funcionamiento de los circuitos interruptores. [24] [25] [26] [27] Este concepto de utilizar las propiedades de los interruptores eléctricos para obtener resultados lógicos es el principio básico que subyace a todas las computadoras digitales electrónicas . La teoría de circuitos interruptores proporcionó los fundamentos matemáticos y las herramientas para el diseño de sistemas digitales en casi todas las áreas de la tecnología moderna . [27]
El trabajo de Nakajima se citará y reelaborará más adelante en la tesis de maestría de 1937 de Claude Elwood Shannon , titulada A Symbolic Analysis of Relay and Switching Circuits . [26] Mientras tomaba una clase de filosofía, Shannon se enteró del trabajo de Boole y reconoció que ese álgebra podría usarse para ordenar relés electromecánicos (que luego se usaron en conmutadores telefónicos), para resolver problemas lógicos. Su tesis se convirtió en el principio sobre el que descansa el diseño de circuitos digitales cuando la comunidad de ingenieros eléctricos la conoció ampliamente durante y después de la Segunda Guerra Mundial .
En 1941, Konrad Zuse desarrolló la primera computadora funcional controlada por programa, la Z3 . En 1998, fue calificada como una máquina "completa de Turing". [28] Zuse también desarrolló la S2, considerada la primera máquina de control industrial. Fundó uno de los primeros negocios de computadoras en 1941, produciendo el Z4 , que se convirtió en la primera computadora comercial del mundo. En 1946, diseñó el primer lenguaje de programación de alto nivel , Plankalkül . [13]
En 1948, se completó el Manchester Baby ; fue la primera computadora electrónica digital de propósito general que ejecutó programas almacenados como la mayoría de las computadoras modernas. [22] La influencia en Max Newman del documento de 1936 sobre las máquinas de Turing , y sus contribuciones lógico-matemáticas al proyecto, fueron cruciales para el desarrollo posterior del Manchester SSEM . [22]
En 1950, el Laboratorio Nacional de Física Británico completó el Pilot ACE , una pequeña computadora programable basada en la filosofía de Turing. Con una velocidad de operación de 1 MHz, el Pilot Model ACE fue durante algún tiempo la computadora más rápida del mundo. [22] [29] El diseño de Turing para el ACE era muy similar a las arquitecturas RISC actuales y requería una memoria de alta velocidad de aproximadamente la misma capacidad que una de las primeras computadoras Macintosh , que era inmensa para los estándares de la industria en ese momento. Si el ACE de Turing se hubiera construido según lo previsto y por completo, habría tenido una proporción diferente de otras computadoras tempranas. [22]
En 1948 Claude Shannon publicó el ensayo A Mathematical Theory of Communication , uno de los pilares de la moderna teoría de la información y la informática , donde aparece por primera vez el término " bit " , que acuñó para designar la unidad elemental de información , y donde se introduce el concepto de entropía de la información y la identidad entre los dos valores de verdad ( verdadero y falso ) de la lógica simbólica y los valores binarios 1 y 0 de los circuitos electrónicos . [21] Con sus obras dedicadas a la teoría de la información, la fiabilidad de los circuitos, el problema de la seguridad de las comunicaciones y la criptografía , Shannon ha cambiado profundamente la teoría y la práctica de la comunicación. [21]
Después de su doctorado a los 18 años en la Universidad de Harvard con una tesis sobre lógica matemática, Norbert Wiener estudió en Europa con Bertrand Russell y David Hilbert . Enseñó, a partir de 1919, en el MIT de Cambridge ( Massachussets ). [21] Hizo aportes fundamentales en el campo de la teoría matemática de los procesos estocásticos , de la predicción y del cálculo de probabilidades , ya partir de sus trabajos sobre estadística elaboró con su alumno Claude Shannon , la moderna teoría de la información . [21]
En los años de la Segunda Guerra Mundial , se ocupó de los problemas del control automático de las armas militares . [21] Estimulado por estas investigaciones, desarrolló el proyecto de una ciencia general de regulación del control, que bautizó como " cibernética ", y lo presentó en un libro de gran éxito, titulado La cibernética o el control y la comunicación en el animal y la máquina (La cibernética , o control y comunicación en animales y máquinas, 1948). [21] Desde entonces, mientras continuaba ocupándose de las matemáticas generales, se dedicó principalmente al desarrollo y popularización de la nueva disciplina.
En informática , la arquitectura de von Neumann es un tipo de arquitectura de hardware para computadoras digitales programables con programas almacenados que comparten datos e instrucciones de programas en el mismo espacio de memoria . Por esta característica la arquitectura de von Neumann contrasta con la arquitectura de Harvard en la que los datos del programa y las instrucciones del programa se almacenan en distintos espacios de memoria. Von Neumann propuso una estructura muy simple, que es la que encontramos reflejada, en principio, en nuestras PC.
Según John von Neumann , los elementos esenciales de una computadora programable son:
Juan von Neumann
arquitectura Von Neumann