Historia de la computación

Compartir Imprimir Citar

La historia de las ciencias de la computación comenzó mucho antes que nuestra disciplina moderna de las ciencias de la computación, y generalmente aparece en formas como las matemáticas o la física. Los desarrollos en siglos anteriores aludieron a la disciplina que ahora conocemos como informática. Esta progresión, desde las invenciones mecánicas y las teorías matemáticas hasta los modernos conceptos y máquinas informáticas, condujo al desarrollo de un importante campo académico, un avance tecnológico masivo en todo el mundo occidental y la base de un comercio y una cultura masivos en todo el mundo.

La historia de la computación es más larga que la historia del hardware informático y la tecnología informática moderna e incluye la historia de los métodos destinados a lápiz y papel o tiza y pizarra, con o sin la ayuda de tablas.

Prehistoria

La primera herramienta conocida para su uso en computación fue el ábaco, desarrollado en el período entre 2700 y 2300 a. C. en Sumer. El ábaco de los sumerios consistía en una tabla de columnas sucesivas que delimitaban los sucesivos órdenes de magnitud de su sistema numérico sexagesimal. Su estilo original de uso fue por líneas dibujadas en arena con guijarros. Los ábacos de un diseño más moderno todavía se utilizan como herramientas de cálculo en la actualidad, como el ábaco chino.

En el siglo V a. C. en la antigua India, el gramático Pāṇini formuló la gramática del sánscrito en 3959 reglas conocidas como Ashtadhyayi, que era altamente sistematizada y técnica. Panini utilizó metarreglas, transformaciones y recursiones.

Se cree que el mecanismo de Antikythera es una de las primeras computadoras analógicas mecánicas. Fue diseñado para calcular posiciones astronómicas. Fue descubierto en 1901 en el naufragio de Antikythera frente a la isla griega de Antikythera, entre Kythera y Creta, y data de alrededor del año 100 a.

Los dispositivos informáticos analógicos mecánicos aparecieron de nuevo mil años después en el mundo islámico medieval y fueron desarrollados por astrónomos musulmanes, como el astrolabio mecánico con engranajes de Abū Rayhān al-Bīrūnī y el torquetum de Jabir ibn Aflah. Según Simon Singh, los matemáticos musulmanes también lograron importantes avances en criptografía, como el desarrollo del criptoanálisis y el análisis de frecuencias por parte de Alkindus. Las máquinas programables también fueron inventadas por ingenieros musulmanes, como el flautista automático de los hermanos Banū Mūsā, y los autómatas humanoides programables y el reloj del castillo de Al-Jazari, que se considera la primera computadora analógica programable.En la Europa del siglo XIV aparecieron artefactos tecnológicos de complejidad similar, con relojes astronómicos mecánicos.

Cuando John Napier descubrió los logaritmos con fines computacionales a principios del siglo XVII, siguió un período de progreso considerable por parte de inventores y 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 comenzado a construir fue destruido por un incendio en 1624. Alrededor de 1640, Blaise Pascal, un destacado matemático francés, construyó un dispositivo mecánico de suma basado en un diseño descrito del matemático griego Héroe de Alejandría. Luego, en 1672, Gottfried Wilhelm Leibniz inventó el contador escalonado, que completó en 1694.

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. El motor analítico tenía memoria expandible, una unidad aritmética y capacidades de procesamiento lógico capaces de interpretar un lenguaje de programación con bucles y bifurcaciones condicionales. Aunque nunca se construyó, el diseño se ha estudiado extensamente y se entiende que es el equivalente de Turing. El motor analítico habría tenido una capacidad de memoria de menos de 1 kilobyte de memoria y una velocidad de reloj de menos de 10 Hertz.

Se requirió un avance considerable en matemáticas y teoría electrónica antes de que se pudieran diseñar las primeras computadoras modernas.

lógica binaria

En 1702, Gottfried Wilhelm Leibniz desarrolló la lógica en un sentido formal y matemático con sus escritos sobre el sistema numérico binario. En su sistema, los unos y los ceros también representan valores verdaderos y falsos o estados de encendido y apagado . Pero pasó más de un siglo antes de que George Boole publicara su álgebra booleana en 1854 con un sistema completo que permitía modelar matemáticamente los procesos computacionales.

En ese momento, se habían inventado los primeros dispositivos mecánicos impulsados ​​por un patrón binario. La revolución industrial había impulsado la mecanización de muchas tareas, y esto incluía el tejido. Las tarjetas perforadas controlaban el telar de Joseph Marie Jacquard en 1801, donde un agujero perforado en la tarjeta indicaba un uno binario y un punto sin perforar indicaba un cero binario . El telar de Jacquard estaba lejos de ser una computadora, pero ilustraba que las máquinas podían funcionar con sistemas binarios.

Surgimiento de una disciplina.

Charles Babbage y Ada Lovelace

Charles Babbage es a menudo considerado como uno de los primeros pioneros de la computación. A partir de la década de 1810, Babbage tuvo la visión de calcular números y tablas mecánicamente. Poniendo esto en realidad, Babbage diseñó una calculadora para calcular números de hasta 8 puntos decimales. Continuando con el éxito de esta idea, Babbage trabajó para desarrollar una máquina que pudiera calcular números con hasta 20 decimales. En la década de 1830, Babbage había ideado un plan para desarrollar una máquina que pudiera usar tarjetas perforadas para realizar operaciones aritméticas. La máquina almacenaría números en unidades de memoria y habría una forma de control secuencial. Esto significa que una operación se realizaría antes que otra de tal manera que la máquina produjera una respuesta y no fallara. Esta máquina se conocería como la “Máquina Analítica”,

Ada Lovelace (Augusta Ada Byron) es reconocida como la pionera de la programación informática y es considerada una genio de las matemáticas. Lovelace comenzó a trabajar con Charles Babbage como asistente mientras Babbage trabajaba en su "Máquina analítica", la primera computadora mecánica. Durante su trabajo con Babbage, Ada Lovelace se convirtió en la diseñadora del primer algoritmo informático, que tenía la capacidad de calcular los números de Bernoulli, aunque esto es discutible, ya que Charles fue el primero en diseñar el motor diferencial y, en consecuencia, sus correspondientes algoritmos basados ​​en diferencias, convirtiéndolo en el primer diseñador de algoritmos informáticos. Además, el trabajo de Lovelace con Babbage resultó en su predicción de futuras computadoras no solo para realizar cálculos matemáticos, sino también para manipular símbolos, matemáticos o no.Si bien nunca pudo ver los resultados de su trabajo, ya que la "Máquina analítica" no se creó durante su vida, sus esfuerzos en años posteriores, a partir de la década de 1840, no pasaron desapercibidos.

Contribuciones a la Máquina Analítica de Babbage durante la primera mitad del siglo XX

Después de Babbage, aunque al principio desconocía su trabajo anterior, estaba Percy Ludgate, empleado de un comerciante de maíz en Dublín, Irlanda. Diseñó de forma independiente una computadora mecánica programable, que describió en un trabajo que se publicó en 1909. Otros dos inventores, Leonardo Torres y Quevedo y Vannevar Bush, también siguieron investigaciones basadas en el trabajo de Babbage. En sus Ensayos sobre automática (1913), Torres y Quevedo diseñó una máquina calculadora tipo Babbage que usaba partes electromecánicas que incluían representaciones de números de punto flotante y construyó un prototipo en 1920. Análisis instrumental del artículo de Bush(1936) discutieron el uso de máquinas de tarjetas perforadas IBM existentes para implementar el diseño de Babbage. En el mismo año, inició el proyecto Rapid Arithmetical Machine para investigar los problemas de construcción de una computadora digital electrónica.

Charles Sanders Peirce y los circuitos eléctricos de conmutación

En una carta de 1886, Charles Sanders Peirce describió cómo los circuitos de conmutación eléctrica podían llevar a cabo operaciones lógicas. Durante 1880-1881 demostró que las puertas NOR solas (o, alternativamente, las puertas NAND solas) se pueden utilizar para reproducir las funciones de todas las demás puertas lógicas, pero este trabajo no se publicó hasta 1933. La primera prueba publicada fue de Henry M. Sheffer en 1913, por lo que la operación lógica NAND a veces se denomina golpe de Sheffer; el NOR lógico a veces se llama la flecha de Peirce . En consecuencia, estas puertas a veces se denominan puertas lógicas universales .

Eventualmente, los tubos de vacío reemplazaron a los relés para operaciones lógicas. La modificación de Lee De Forest, en 1907, de la válvula Fleming se puede utilizar como puerta lógica. Ludwig Wittgenstein introdujo una versión de la tabla de verdad de 16 filas como la proposición 5.101 de Tractatus Logico-Philosophicus (1921). Walther Bothe, inventor del circuito de coincidencia, obtuvo parte del Premio Nobel de física de 1954 por la primera compuerta AND electrónica moderna en 1924. Konrad Zuse diseñó y construyó compuertas lógicas electromecánicas para su computadora Z1 (de 1935 a 1938).

Hasta y durante la década de 1930, los ingenieros eléctricos pudieron construir circuitos electrónicos para resolver problemas matemáticos y lógicos, pero la mayoría lo hizo de manera ad hoc , sin ningún rigor teórico. Esto cambió con la teoría del circuito de conmutación en la década de 1930. De 1934 a 1936, Akira Nakashima, Claude Shannon y Viktor Shetakov publicaron una serie de artículos que mostraban que el álgebra booleana de dos valores puede describir el funcionamiento de los circuitos de conmutación. Este concepto, de utilizar las propiedades de los interruptores eléctricos para hacer lógica, es el concepto básico que subyace a todas las computadoras digitales electrónicas. La teoría de circuitos de conmutación 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.

Mientras tomaba una clase de filosofía de pregrado, Shannon había estado expuesta al trabajo de Boole y reconoció que podría usarse para organizar relés electromecánicos (luego utilizados en conmutadores de enrutamiento telefónico) para resolver problemas lógicos. Su tesis se convirtió en la base del diseño práctico de circuitos digitales cuando se hizo ampliamente conocido entre la comunidad de ingenieros eléctricos durante y después de la Segunda Guerra Mundial.

Alan Turing y la máquina de Turing

Antes de la década de 1920, las computadoras (a veces computadores ) eran empleados humanos que realizaban cálculos. Por lo general, estaban bajo la dirección de un físico. Se emplearon muchos miles de computadoras en establecimientos comerciales, gubernamentales y de investigación. Muchos de estos empleados que servían como computadoras humanas eran mujeres. Algunos realizaron cálculos astronómicos para calendarios, otros tablas balísticas para militares.

Después de la década de 1920, la expresión máquina de computación se refería a cualquier máquina que realizaba el trabajo de una computadora humana, especialmente aquellas de acuerdo con los métodos efectivos de la tesis de Church-Turing. La tesis afirma que un método matemático es eficaz si se puede plantear como una lista de instrucciones que puede seguir un empleado humano con papel y lápiz, durante el tiempo que sea necesario, y sin ingenio ni perspicacia.

Las máquinas que calculaban con valores continuos se conocieron como del tipo analógico . Utilizaron maquinaria que representaba cantidades numéricas continuas, como el ángulo de rotación de un eje o la diferencia de potencial eléctrico.

La maquinaria digital, en contraste con la analógica, pudo representar un estado de un valor numérico y almacenar cada dígito individual. La maquinaria digital utilizaba motores diferenciales o relés antes de la invención de dispositivos de memoria más rápidos.

La frase máquina informática dio paso gradualmente, después de finales de la década de 1940, a solo computadora a medida que la aparición de la maquinaria digital electrónica se hizo común. Estas computadoras pudieron realizar los cálculos que realizaron los empleados humanos anteriores.

Dado que los valores almacenados por las máquinas digitales no estaban vinculados a propiedades físicas como los dispositivos analógicos, una computadora lógica, basada en equipos digitales, podía hacer cualquier cosa que pudiera describirse como "puramente mecánica". La Máquina de Turing teórica, creada por Alan Turing, es un dispositivo hipotético teorizado con el fin de estudiar las propiedades de dicho hardware.

Kurt Gödel comenzó a sentar las bases matemáticas de la informática moderna con su teorema de incompletitud (1931). En este teorema, mostró que había límites a lo que se podía probar y refutar dentro de un sistema formal. Esto condujo al trabajo de Gödel y otros para definir y describir estos sistemas formales, incluidos conceptos como funciones mu-recursivas y funciones definibles por lambda.

En 1936, Alan Turing y Alonzo Church, de forma independiente y también juntos, introdujeron la formalización de un algoritmo, con límites en lo que se puede calcular, y un modelo "puramente mecánico" para la computación. Esto se convirtió en la tesis de Church-Turing, una hipótesis sobre la naturaleza de los dispositivos mecánicos de cálculo, como las computadoras electrónicas. La tesis establece que cualquier cálculo que sea posible se puede realizar mediante un algoritmo que se ejecuta en una computadora, siempre que se disponga de suficiente tiempo y espacio de almacenamiento.

En 1936, Alan Turing también publicó su trabajo seminal sobre las máquinas de Turing, una máquina informática digital abstracta que ahora se conoce simplemente como la máquina universal de Turing. Esta máquina inventó el principio de la computadora moderna y fue el lugar de nacimiento del concepto de programa almacenado que utilizan casi todas las computadoras modernas. Estas máquinas hipotéticas fueron diseñadas para determinar formalmente, matemáticamente, lo que se puede calcular, teniendo en cuenta las limitaciones de la capacidad informática. Si una máquina de Turing puede completar la tarea, se considera computable por Turing.

El físico de Los Alamos, Stanley Frankel, ha descrito la visión de John von Neumann sobre la importancia fundamental del artículo de Turing de 1936, en una carta:

Sé que alrededor de 1943 o 1944 von Neumann era muy consciente de la importancia fundamental del artículo de Turing de 1936... Von Neumann me presentó ese artículo y, ante su insistencia, lo estudié con cuidado. Muchas personas han aclamado a von Neumann como el "padre de la computadora" (en el sentido moderno del término), pero estoy seguro de que él mismo nunca habría cometido ese error. Bien podría llamarse la comadrona, tal vez, pero me enfatizó firmemente, y estoy seguro de que a otros, que la concepción fundamental se debe a Turing...

Primeros equipos informáticos

La primera computadora digital electrónica del mundo, la computadora Atanasoff-Berry, fue construida en el campus del estado de Iowa entre 1939 y 1942 por John V. Atanasoff, profesor de física y matemáticas, y Clifford Berry, estudiante graduado de ingeniería.

En 1941, Konrad Zuse desarrolló la primera computadora funcional controlada por programa del mundo, la Z3. En 1998, se demostró que era Turing-completo en principio. Zuse también desarrolló la máquina informática S2, considerada la primera computadora de control de procesos. Fundó una de las primeras empresas informáticas en 1941, produciendo la 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.

En 1948, se completó el Manchester Baby; fue la primera computadora digital electrónica del mundo que ejecutó programas almacenados en su memoria, como casi todas las computadoras modernas. La influencia en Max Newman del artículo seminal de 1936 de Turing sobre las Máquinas de Turing y de sus contribuciones lógico-matemáticas al proyecto, fueron cruciales para el desarrollo exitoso del Bebé.

En 1950, el Laboratorio Nacional de Física de Gran Bretaña completó Pilot ACE, una computadora programable a pequeña escala, 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. El diseño de Turing para ACE tenía mucho en común con 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 enorme para los estándares de su época. Si el ACE de Turing se hubiera construido según lo planeado y en su totalidad, habría estado en una liga diferente de las otras primeras computadoras.

El primer error informático real fue una polilla. Estaba atascado entre los relés del Harvard Mark II. Si bien la invención del término "error" a menudo se atribuye erróneamente a Grace Hopper, una futura contraalmirante de la Marina de los EE. UU., quien supuestamente registró el "error" el 9 de septiembre de 1945, la mayoría de las otras cuentas entran en conflicto al menos con estos detalles. Según estas cuentas, la fecha real fue el 9 de septiembre de 1947 cuando los operadores registraron este 'incidente', junto con el insecto y la anotación "Se encontró el primer caso real de error" (ver error de software para más detalles).

Shannon y la teoría de la información

Claude Shannon pasó a fundar el campo de la teoría de la información con su artículo de 1948 titulado Una teoría matemática de la comunicación, que aplicó la teoría de la probabilidad al problema de cómo codificar mejor la información que un remitente quiere transmitir. Este trabajo es uno de los fundamentos teóricos de muchas áreas de estudio, incluidas la compresión de datos y la criptografía.

Wiener y la cibernética

A partir de experimentos con sistemas antiaéreos que interpretaban imágenes de radar para detectar aviones enemigos, Norbert Wiener acuñó el término cibernética de la palabra griega para "timonel". Publicó "Cibernética" en 1948, que influyó en la inteligencia artificial. Wiener también comparó la computación, la maquinaria informática, los dispositivos de memoria y otras similitudes cognitivas con su análisis de las ondas cerebrales.

John von Neumann y la arquitectura de von Neumann

En 1946, se introdujo un modelo de arquitectura informática que se conoció como arquitectura Von Neumann . Desde 1950, el modelo de von Neumann proporcionó uniformidad en los diseños de computadora posteriores. La arquitectura de von Neumann se consideró innovadora, ya que introdujo la idea de permitir que las instrucciones y los datos de la máquina compartieran el espacio de la memoria. El modelo de von Neumann se compone de tres partes principales, la unidad lógica aritmética (ALU), la memoria y la unidad de procesamiento de instrucciones (IPU). En el diseño de máquinas de von Neumann, la IPU pasa direcciones a la memoria y la memoria, a su vez, se enruta de vuelta a la IPU si se está obteniendo una instrucción o a la ALU si se están obteniendo datos.

El diseño de la máquina de Von Neumann utiliza una arquitectura RISC (Computación de conjunto de instrucciones reducido), lo que significa que el conjunto de instrucciones utiliza un total de 21 instrucciones para realizar todas las tareas. (Esto contrasta con CISC, computación de conjuntos de instrucciones complejas, conjuntos de instrucciones que tienen más instrucciones para elegir). Con la arquitectura de von Neumann, la memoria principal junto con el acumulador (el registro que contiene el resultado de las operaciones lógicas) son los dos recuerdos que se abordan. Las operaciones pueden llevarse a cabo como aritmética simple (estas son realizadas por la ALU e incluyen sumas, restas, multiplicaciones y divisiones), ramas condicionales (estas se ven más comúnmente ahora como ifdeclaraciones o whilebucles. Las ramas sirven comogo tosentencias), y movimientos lógicos entre los diferentes componentes de la máquina, es decir, un movimiento del acumulador a la memoria o viceversa. La arquitectura de Von Neumann acepta fracciones e instrucciones como tipos de datos. Finalmente, como la arquitectura de von Neumann es simple, su gestión de registros también lo es. La arquitectura utiliza un conjunto de siete registros para manipular e interpretar los datos y las instrucciones obtenidos. Estos registros incluyen "IR" (registro de instrucciones), "IBR" (registro de búfer de instrucciones), "MQ" (registro de cociente multiplicador), "MAR" (registro de direcciones de memoria) y "MDR" (registro de datos de memoria)". La arquitectura también utiliza un contador de programa ("PC") para realizar un seguimiento de en qué parte del programa se encuentra la máquina.

John McCarthy, Marvin Minsky y la inteligencia artificial

El término inteligencia artificial fue acreditado por John McCarthy para explicar la investigación que estaban haciendo para una propuesta para Dartmouth Summer Research. El nombramiento de la inteligencia artificial también condujo al nacimiento de un nuevo campo en la informática. El 31 de agosto de 1955, se propuso un proyecto de investigación formado por John McCarthy, Marvin L. Minsky, Nathaniel Rochester y Claude E. Shannon. El proyecto oficial comenzó en 1956 y constaba de varias partes importantes que sintieron que les ayudarían a comprender mejor la composición de la inteligencia artificial.

Las ideas de McCarthy y sus colegas detrás de las computadoras automáticas eran que mientras una máquina es capaz de completar una tarea, lo mismo debe confirmarse con una computadora al compilar un programa para realizar los resultados deseados. También descubrieron que el cerebro humano era demasiado complejo para replicarlo, no por la máquina en sí, sino por el programa. El conocimiento para producir un programa tan sofisticado aún no estaba allí.

El concepto detrás de esto fue ver cómo los humanos entendemos nuestro propio lenguaje y la estructura de cómo formamos oraciones, dando diferentes significados y conjuntos de reglas y comparándolos con un proceso de máquina. La forma en que las computadoras pueden entender es a nivel de hardware. Este lenguaje está escrito en binario (1s y 0s). Esto debe escribirse en un formato específico que le dé a la computadora el conjunto de reglas para ejecutar una pieza de hardware en particular.

El proceso de Minsky determinó cómo estas redes neuronales artificiales podrían organizarse para tener cualidades similares al cerebro humano. Sin embargo, solo pudo producir resultados parciales y necesitaba profundizar en la investigación de esta idea.

La idea de McCarthy y Shannon detrás de esta teoría era desarrollar una forma de usar problemas complejos para determinar y medir la eficiencia de la máquina a través de la teoría y los cálculos matemáticos. Sin embargo, solo recibirían resultados parciales de las pruebas.

La idea detrás de la superación personal es cómo una máquina usaría el código de modificación automática para volverse más inteligente. Esto permitiría que una máquina crezca en inteligencia y aumente la velocidad de cálculo. El grupo creía que podrían estudiar esto si una máquina pudiera mejorar el proceso de completar una tarea en la parte de abstracciones de su investigación.

El grupo pensó que la investigación en esta categoría podría dividirse en grupos más pequeños. Esto consistiría en información sensorial y de otro tipo sobre inteligencia artificial. Las abstracciones en informática pueden referirse a las matemáticas y al lenguaje de programación.

Su idea de la creatividad computacional es cómo se puede ver que el programa o una máquina tienen formas similares de pensamiento humano. Querían ver si una máquina podía tomar una pieza de información incompleta y mejorarla para completar los detalles faltantes como lo hace la mente humana. Si esta máquina pudiera hacer esto; necesitaban pensar en cómo determinaba la máquina el resultado.

Dispositivos de hormigón

La computación digital está íntimamente ligada a la representación de números. Pero mucho antes de que surgieran abstracciones como el número, existían conceptos matemáticos al servicio de los propósitos de la civilización. Estos conceptos están implícitos en prácticas concretas como:

Números

Eventualmente, el concepto de números se hizo lo suficientemente concreto y familiar como para que surgiera el conteo, a veces con mnemotecnias cantarinas para enseñar secuencias a otros. Todos los idiomas humanos conocidos, excepto el idioma Piraha, tienen palabras para al menos "uno" y "dos", e incluso algunos animales como el mirlo pueden distinguir una cantidad sorprendente de elementos.

Los avances en el sistema numérico y la notación matemática finalmente llevaron al descubrimiento de operaciones matemáticas como la suma, la resta, la multiplicación, la división, el cuadrado, la raíz cuadrada, etc. Finalmente, las operaciones se formalizaron y los conceptos sobre las operaciones se entendieron lo suficientemente bien como para establecerse formalmente e incluso probarse. Véase, por ejemplo, el algoritmo de Euclides para encontrar el máximo común divisor de dos números.

En la Alta Edad Media, el sistema de numeración hindú-árabe posicional había llegado a Europa, lo que permitió el cálculo sistemático de números. Durante este período, la representación de un cálculo en papel permitió el cálculo de expresiones matemáticas y la tabulación de funciones matemáticas como la raíz cuadrada y el logaritmo común (para usar en multiplicación y división) y las funciones trigonométricas. En el momento de la investigación de Isaac Newton, el papel o la vitela era un recurso informático importante, e incluso en la actualidad, investigadores como Enrico Fermi cubrían trozos de papel al azar con cálculos, para satisfacer su curiosidad sobre una ecuación.Incluso en el período de las calculadoras programables, Richard Feynman calcularía sin vacilar cualquier paso que desbordara la memoria de las calculadoras, a mano, solo para aprender la respuesta; en 1976, Feynman había comprado una calculadora HP-25 con una capacidad de 49 pasos de programa; si una ecuación diferencial requería más de 49 pasos para resolverse, simplemente podía continuar su cálculo a mano.

Cómputo temprano

Los enunciados matemáticos no necesitan ser únicamente abstractos; cuando una declaración se puede ilustrar con números reales, los números se pueden comunicar y puede surgir una comunidad. Esto permite afirmaciones repetibles y verificables que son el sello distintivo de las matemáticas y las ciencias. Este tipo de declaraciones han existido durante miles de años y en múltiples civilizaciones, como se muestra a continuación:

La primera herramienta conocida para su uso en computación es el ábaco sumerio, y se cree que fue inventado en Babilonia c. 2700–2300 a. Su estilo original de uso fue por líneas dibujadas en arena con guijarros. Abaci, de un diseño más moderno, todavía se utilizan como herramientas de cálculo en la actualidad. Esta fue la primera calculadora conocida y el sistema de cálculo más avanzado conocido hasta la fecha, precediendo a Arquímedes por 2.000 años.

Cª. 1050-771 a. C., el carro que apunta al sur se inventó en la antigua China. Fue el primer mecanismo de engranajes conocido en usar un engranaje diferencial, que luego se usó en computadoras analógicas. Los chinos también inventaron un ábaco más sofisticado alrededor del siglo II a. C. conocido como el ábaco chino.

En el siglo V a. C. en la antigua India, el gramático Pāṇini formuló la gramática del sánscrito en 3959 reglas conocidas como Ashtadhyayi, que era altamente sistematizada y técnica. Panini utilizó metarreglas, transformaciones y recursiones.

En el siglo III a. C., Arquímedes utilizó el principio mecánico del equilibrio (ver Palimpsesto de Arquímedes#Contenido matemático) para calcular problemas matemáticos, como el número de granos de arena en el universo (El contador de arena), que también requería una notación recursiva para números (por ejemplo, la miríada miríada).

Se cree que el mecanismo de Antikythera es la primera computadora analógica mecánica conocida. Fue diseñado para calcular posiciones astronómicas. Fue descubierto en 1901 en el naufragio de Antikythera frente a la isla griega de Antikythera, entre Kythera y Creta, y data de alrededor del año 100 a.

Los dispositivos informáticos mecánicos analógicos aparecieron de nuevo mil años después en el mundo islámico medieval y fueron desarrollados por astrónomos musulmanes, como el astrolabio mecánico con engranajes de Abū Rayhān al-Bīrūnī y el torquetum de Jabir ibn Aflah. Según Simon Singh, los matemáticos musulmanes también lograron importantes avances en criptografía, como el desarrollo del criptoanálisis y el análisis de frecuencias por parte de Alkindus. Las máquinas programables también fueron inventadas por ingenieros musulmanes, como el flautista automático de los hermanos Banū Mūsā, y los robots humanoides y el reloj del castillo de Al-Jazari, que se considera la primera computadora analógica programable.

Durante la Edad Media, varios filósofos europeos intentaron producir dispositivos informáticos analógicos. Influenciado por los árabes y la escolástica, el filósofo mallorquín Ramon Llull (1232-1315) dedicó gran parte de su vida a definir y diseñar varias máquinas lógicasque, combinando verdades filosóficas simples e innegables, podría producir todo el conocimiento posible. Estas máquinas en realidad nunca se construyeron, ya que eran más un experimento mental para producir nuevos conocimientos de manera sistemática; aunque podían hacer operaciones lógicas simples, todavía necesitaban un ser humano para la interpretación de los resultados. Además, carecían de una arquitectura versátil, cada máquina sirviendo solo para propósitos muy concretos. A pesar de ello, la obra de Llull tuvo una fuerte influencia en Gottfried Leibniz (principios del siglo XVIII), quien desarrolló más sus ideas y construyó varias herramientas de cálculo a partir de ellas.

De hecho, cuando John Napier descubrió los logaritmos con fines computacionales a principios del siglo XVII, siguió un período de progreso considerable por parte de inventores y científicos en la fabricación de herramientas de cálculo. El vértice de esta primera era de la computación formal se puede ver en la máquina diferencial y su sucesora, la máquina analítica (que nunca se construyó por completo pero se diseñó en detalle), ambas de Charles Babbage. El motor analítico combinó conceptos de su trabajo y el de otros para crear un dispositivo que, si se hubiera construido como se diseñó, habría poseído muchas propiedades de una computadora electrónica moderna. Estas propiedades incluyen características tales como una "memoria temporal" interna equivalente a la RAM, múltiples formas de salida que incluyen una campana, un trazador gráfico y una impresora simple, y una entrada-salida programable "dura" memoria de tarjetas perforadas que podía modificar además de leer. El avance clave que poseían los dispositivos de Babbage más allá de los creados antes que el suyo era que cada componente del dispositivo era independiente del resto de la máquina, al igual que los componentes de una computadora electrónica moderna. Este fue un cambio fundamental en el pensamiento; Los dispositivos informáticos anteriores tenían un solo propósito, pero en el mejor de los casos tenían que ser desmontados y reconfigurados para resolver un nuevo problema. Los dispositivos de Babbage podrían reprogramarse para resolver nuevos problemas mediante la entrada de nuevos datos y actuar sobre cálculos anteriores dentro de la misma serie de instrucciones. Ada Lovelace llevó este concepto un paso más allá al crear un programa para que el motor analítico calcule los números de Bernoulli, un cálculo complejo que requiere un algoritmo recursivo.

Siguiendo a Babbage, aunque desconociendo su trabajo anterior, Percy Ludgate en 1909 publicó el segundo de los dos únicos diseños de motores analíticos mecánicos en la historia. Otros dos inventores, Leonardo Torres y Quevedo y Vannevar Bush, también siguieron investigaciones basadas en el trabajo de Babbage. En sus Essays on Automatics (1913), Torres y Quevedo diseñó una máquina calculadora tipo Babbage que usaba partes electromecánicas que incluían representaciones de números de punto flotante y construyó un prototipo en 1920. El artículo de Bush Instrumental Analysis (1936) discutió el uso de máquinas de tarjetas perforadas IBM existentes para implementar el diseño de Babbage. En el mismo año, inició el proyecto Rapid Arithmetical Machine para investigar los problemas de construcción de una computadora digital electrónica.

Varios ejemplos de computación analógica sobrevivieron hasta tiempos recientes. Un planímetro es un dispositivo que hace integrales, utilizando la distancia como la cantidad analógica. Hasta la década de 1980, los sistemas HVAC usaban aire como cantidad analógica y como elemento de control. A diferencia de las computadoras digitales modernas, las computadoras analógicas no son muy flexibles y deben reconfigurarse (es decir, reprogramarse) manualmente para cambiarlas de un problema a otro. Las computadoras analógicas tenían una ventaja sobre las primeras computadoras digitales en el sentido de que podían usarse para resolver problemas complejos utilizando análogos de comportamiento, mientras que los primeros intentos de computadoras digitales fueron bastante limitados.

Dado que las computadoras eran raras en esta era, las soluciones a menudo se codificaban en formularios de papel, como nomogramas, que luego podían producir soluciones analógicas a estos problemas, como la distribución de presiones y temperaturas en un sistema de calefacción.

Computadoras electrónicas digitales

El “cerebro” [computadora] puede algún día bajar a nuestro nivel [de la gente común] y ayudar con nuestros cálculos de impuestos sobre la renta y contabilidad. Pero esto es especulación y no hay señales de ello hasta ahora.—  El periódico británico The Star en un artículo de noticias de junio de 1949 sobre la computadora EDSAC, mucho antes de la era de las computadoras personales.

Ninguno de los primeros dispositivos computacionales eran realmente computadoras en el sentido moderno, y fue necesario un avance considerable en matemáticas y teoría antes de que se pudieran diseñar las primeras computadoras modernas.

En una carta de 1886, Charles Sanders Peirce describió cómo los circuitos de conmutación eléctrica podían llevar a cabo operaciones lógicas. Durante 1880-81 demostró que las puertas NOR solas (o, alternativamente, las puertas NAND solas) se pueden usar para reproducir las funciones de todas las demás puertas lógicas, pero este trabajo no se publicó hasta 1933. La primera prueba publicada fue de Henry M. Sheffer en 1913, por lo que la operación lógica NAND a veces se denomina golpe de Sheffer; el NOR lógico a veces se llama la flecha de Peirce. En consecuencia, estas puertas a veces se denominan puertas lógicas universales.

Eventualmente, los tubos de vacío reemplazaron a los relés para operaciones lógicas. La modificación de Lee De Forest, en 1907, de la válvula Fleming se puede utilizar como puerta lógica. Ludwig Wittgenstein introdujo una versión de la tabla de verdad de 16 filas como la proposición 5.101 de Tractatus Logico-Philosophicus (1921). Walther Bothe, inventor del circuito de coincidencia, obtuvo parte del Premio Nobel de física de 1954 por la primera compuerta AND electrónica moderna en 1924. Konrad Zuse diseñó y construyó compuertas lógicas electromecánicas para su computadora Z1 (de 1935 a 1938).

La primera idea registrada sobre el uso de la electrónica digital para la computación fue el documento de 1931 "El uso de tiratrones para el conteo automático de fenómenos físicos a alta velocidad" de CE Wynn-Williams. De 1934 a 1936, el ingeniero de NEC Akira Nakashima, Claude Shannon y Victor Shestakov publicaron artículos que presentaban la teoría de circuitos de conmutación, utilizando electrónica digital para operaciones algebraicas booleanas.

En 1935, Alan Turing escribió su artículo seminal Sobre números computables, con una aplicación al Entscheidungsproblem en el que modeló la computación en términos de una cinta de almacenamiento unidimensional, lo que llevó a la idea de la máquina universal de Turing y los sistemas completos de Turing.

La primera computadora electrónica digital fue desarrollada en el período de abril de 1936 a junio de 1939, en el Departamento de Patentes de IBM, Endicott, Nueva York, por Arthur Halsey Dickinson. En esta computadora IBM introdujo por primera vez un dispositivo de cálculo con teclado, procesador y salida electrónica (display). El competidor de IBM fue la computadora electrónica digital NCR3566, desarrollada en NCR, Dayton, Ohio por Joseph Desch y Robert Mumma en el período de abril de 1939 a agosto de 1939. Las máquinas de IBM y NCR eran decimales y ejecutaban sumas y restas en código de posición binario.

En diciembre de 1939, John Atanasoff y Clifford Berry completaron su modelo experimental para probar el concepto de la computadora Atanasoff-Berry. Este modelo experimental es binario, sumas y restas ejecutadas en código binario octal y es el primer dispositivo informático electrónico digital binario. La computadora Atanasoff-Berry estaba destinada a resolver sistemas de ecuaciones lineales, aunque no era programable y nunca se completó. La computadora Z3, construida por el inventor alemán Konrad Zuse en 1941, fue la primera máquina de computación completamente automática y programable, pero no era electrónica.

Durante la Segunda Guerra Mundial, la computación balística estuvo a cargo de mujeres, que fueron contratadas como "computadoras". El término computadora siguió siendo uno que se refería principalmente a mujeres (ahora vistas como "operadoras") hasta 1945, después de lo cual adquirió la definición moderna de maquinaria que tiene actualmente.

La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrónica de propósito general, anunciada al público en 1946. Era Turing-completa, digital y capaz de ser reprogramada para resolver una amplia gama de problemas informáticos. Las mujeres implementaron la programación de máquinas como la ENIAC y los hombres crearon el hardware.

Manchester Baby fue la primera computadora electrónica con programa almacenado. Fue construido en la Universidad Victoria de Manchester por Frederic C. Williams, Tom Kilburn y Geoff Tootill, y ejecutó su primer programa el 21 de junio de 1948.

William Shockley, John Bardeen y Walter Brattain en Bell Labs inventaron el primer transistor en funcionamiento, el transistor de contacto puntual, en 1947, seguido por el transistor de unión bipolar en 1948. En la Universidad de Manchester en 1953, un equipo bajo la dirección de Tom Kilburn diseñó y construyó la primera computadora transistorizada, llamada Transistor Computer, una máquina que usa transistores recientemente desarrollados en lugar de válvulas. La primera computadora de transistores con programa almacenado fue la ETL Mark III, desarrollada por el Laboratorio Electrotécnico de Japón entre 1954 y 1956. Sin embargo, los primeros transistores de unión eran dispositivos relativamente voluminosos que eran difíciles de fabricar en una base de producción en masa, lo que los limitaba a un número de aplicaciones especializadas.

En 1954, el 95% de las computadoras en servicio se usaban con fines científicos y de ingeniería.

Computadoras personales

El transistor de efecto de campo de óxido de metal y silicio (MOSFET), también conocido como transistor MOS, fue inventado por Mohamed Atalla y Dawon Kahng en Bell Labs en 1959. Fue el primer transistor verdaderamente compacto que podía miniaturizarse y producirse en masa. para una amplia gama de usos. El MOSFET hizo posible construir chips de circuitos integrados de alta densidad. El MOSFET es el transistor más utilizado en las computadoras y es el bloque de construcción fundamental de la electrónica digital.

El circuito integrado MOS de puerta de silicio fue desarrollado por Federico Faggin en Fairchild Semiconductor en 1968. Esto condujo al desarrollo del primer microprocesador de un solo chip, el Intel 4004. El Intel 4004 se desarrolló como un microprocesador de un solo chip entre 1969 y 1970., dirigida por Federico Faggin, Marcian Hoff y Stanley Mazor de Intel, y Masatoshi Shima de Busicom. El chip fue diseñado y realizado principalmente por Faggin, con su tecnología MOS de puerta de silicio. El microprocesador condujo a la revolución de las microcomputadoras, con el desarrollo de la microcomputadora, que más tarde se llamaría computadora personal (PC).

La mayoría de los primeros microprocesadores, como Intel 8008 e Intel 8080, eran de 8 bits. Texas Instruments lanzó el primer microprocesador completamente de 16 bits, el procesador TMS9900, en junio de 1976. Usaron el microprocesador en las computadoras TI-99/4 y TI-99/4A.

La década de 1980 trajo avances significativos con microprocesadores que tuvieron un gran impacto en los campos de la ingeniería y otras ciencias. El microprocesador Motorola 68000 tenía una velocidad de procesamiento muy superior a los otros microprocesadores que se usaban en ese momento. Debido a esto, tener un microprocesador más nuevo y más rápido permitió que las microcomputadoras más nuevas que surgieron después fueran más eficientes en la cantidad de cómputo que podían hacer. Esto fue evidente en el lanzamiento de 1983 de Apple Lisa. Lisa fue la primera computadora personal con una interfaz gráfica de usuario (GUI) que se vendió comercialmente. Se ejecutó en la CPU Motorola 68000 y usó unidades de disquete duales y un disco duro de 5 MB para almacenamiento. La máquina también tenía 1 MB de RAM para ejecutar software desde el disco sin volver a leer el disco de forma persistente.Después del fracaso de Lisa en términos de ventas, Apple lanzó su primera computadora Macintosh, que aún funcionaba con el microprocesador Motorola 68000, pero con solo 128 KB de RAM, una unidad de disquete y sin disco duro para reducir el precio.

A fines de la década de 1980 y principios de la de 1990, vemos más avances con las computadoras que se vuelven más útiles para propósitos computacionales reales.En 1989, Apple lanzó el Macintosh Portable, pesaba 7,3 kg (16 lb) y era extremadamente caro, con un costo de US $ 7300. En el momento del lanzamiento, era una de las computadoras portátiles más potentes disponibles, pero debido al precio y el peso, no tuvo mucho éxito y se suspendió solo dos años después. Ese mismo año, Intel presentó la supercomputadora Touchstone Delta, que tenía 512 microprocesadores. Este avance tecnológico fue muy significativo, ya que se utilizó como modelo para algunos de los sistemas multiprocesador más rápidos del mundo. Incluso se utilizó como prototipo para los investigadores de Caltech, quienes utilizaron el modelo para proyectos como el procesamiento en tiempo real de imágenes satelitales y la simulación de modelos moleculares para varios campos de investigación.

Supercomputadoras

En términos de supercomputación, la primera supercomputadora ampliamente reconocida fue la Control Data Corporation (CDC) 6600 construida en 1964 por Seymour Cray. Su velocidad máxima era de 40 MHz o 3 millones de operaciones de punto flotante por segundo (FLOPS). El CDC 6600 fue reemplazado por el CDC 7600 en 1969; aunque su velocidad de reloj normal no era más rápida que la 6600, la 7600 era aún más rápida debido a su velocidad máxima de reloj, que era aproximadamente 30 veces más rápida que la de la 6600. Aunque CDC era líder en supercomputadoras, su relación con Seymour Cray (que ya se había ido deteriorando) se derrumbó por completo. en 1972, Cray dejó CDC y comenzó su propia empresa, Cray Research Inc.Con el apoyo de inversores de Wall Street, una industria impulsada por la Guerra Fría, y sin las restricciones que tenía dentro de CDC, creó la supercomputadora Cray-1. Con una velocidad de reloj de 80 MHz o 136 megaFLOPS, Cray se ganó un nombre en el mundo de la computación. En 1982, Cray Research produjo el Cray X-MP equipado con multiprocesamiento y en 1985 lanzó el Cray-2, que continuó con la tendencia del multiprocesamiento y registró 1,9 gigaFLOPS. Cray Research desarrolló el Cray Y-MP en 1988, pero luego tuvo problemas para continuar produciendo supercomputadoras. Esto se debió en gran parte al hecho de que la Guerra Fría había terminado, y la demanda de computación de vanguardia por parte de las universidades y el gobierno disminuyó drásticamente y la demanda de unidades de microprocesamiento aumentó.

Hoy en día, los gobiernos del mundo y las instituciones educativas todavía utilizan las supercomputadoras para cómputos como simulaciones de desastres naturales, búsquedas de variantes genéticas dentro de una población relacionada con enfermedades y más. A partir de noviembre de 2020, la supercomputadora más rápida es Fugaku.

Comenzando con casos especiales conocidos, el cálculo de logaritmos y funciones trigonométricas se puede realizar buscando números en una tabla matemática e interpolando entre casos conocidos. Para diferencias lo suficientemente pequeñas, esta operación lineal fue lo suficientemente precisa para su uso en navegación y astronomía en la Era de la Exploración. Los usos de la interpolación han prosperado en los últimos 500 años: en el siglo XX, Leslie Comrie y WJ Eckert sistematizaron el uso de la interpolación en tablas de números para el cálculo de tarjetas perforadas.

Predicción del tiempo

La solución numérica de ecuaciones diferenciales, en particular las ecuaciones de Navier-Stokes, fue un estímulo importante para la computación, con el enfoque numérico de Lewis Fry Richardson para resolver ecuaciones diferenciales. El primer pronóstico del tiempo computarizado fue realizado en 1950 por un equipo compuesto por los meteorólogos estadounidenses Jule Charney, Philip Thompson, Larry Gates y el meteorólogo noruego Ragnar Fjørtoft, el matemático aplicado John von Neumann y la programadora de ENIAC Klara Dan von Neumann. Hasta el día de hoy, algunos de los sistemas informáticos más potentes de la Tierra se utilizan para las previsiones meteorológicas.

Cálculos simbólicos

A fines de la década de 1960, los sistemas informáticos podían realizar manipulaciones algebraicas simbólicas lo suficientemente bien como para aprobar cursos de cálculo de nivel universitario.

Mujeres importantes y sus aportes

Las mujeres suelen estar subrepresentadas en los campos STEM en comparación con sus homólogos masculinos. En la era moderna anterior a la década de 1960, la informática se consideraba un "trabajo de mujeres", ya que estaba asociada con la operación de máquinas tabuladoras y otros trabajos mecánicos de oficina. La precisión de esta asociación varió de un lugar a otro. En Estados Unidos, Margaret Hamilton recordó un ambiente dominado por hombres, mientras que Elsie Shutt recordó su sorpresa al ver que incluso la mitad de los operadores de computadoras en Raytheon eran hombres. Los operadores de máquinas en Gran Bretaña eran en su mayoría mujeres a principios de la década de 1970. A medida que estas percepciones cambiaron y la computación se convirtió en una carrera de alto nivel, el campo se volvió más dominado por hombres. La profesora Janet Abbate, en su libro Recodificación de género, escribe:

Sin embargo, las mujeres tuvieron una presencia significativa en las primeras décadas de la informática. Formaron la mayoría de los primeros programadores de computadoras durante la Segunda Guerra Mundial; ocuparon puestos de responsabilidad e influencia en la industria informática temprana; y fueron empleadas en números que, si bien eran una pequeña minoría del total, se comparaban favorablemente con la representación de mujeres en muchas otras áreas de la ciencia y la ingeniería. Algunas programadoras de las décadas de 1950 y 1960 se habrían burlado de la idea de que la programación alguna vez se consideraría una ocupación masculina, pero las experiencias y contribuciones de estas mujeres se olvidaron demasiado rápido.

Algunos ejemplos notables de mujeres en la historia de la informática son: