Computadoras: Evolución


En el aspecto de máquinas de cálculo, no es sino hacia el año 1642 que al francés Blaise Pascal se le acredita, la creación de la primera máquina de cálculo, llamada la pascalina, en su honor, la que podía sumar y restar números con dos decimales, entre los rangos 0,01 y 999999,99.  Su funcionamiento era manual, haciendo avanzar una posición decimal cada giro completo de una rueda sobre su eje, en el caso de la suma, o al contrario en el caso de la resta.  Posteriormente en 1671, Gottfried Leibniz, retomó la idea de Pascal para mejorarla, dando origen a la máquina denominada calculadora universal, agregando una rueda escalada, para poder resolver multiplicaciones y divisiones.

Otro invento, que da origen a la definición de tareas programadas y a los primeros modelos de automatización, es el telar del francés Joseph Marie Jacquard. Esta máquina tejía de manera automática siguiendo un patrón preestablecido (programa) para realizar un diseño.  Surge así el principal antecedente de la época hacia la programación computacional. 

En relación con la computadora aparece al final de una cascada de manipulaciones e interpretaciones de materiales heterogéneos y de dispositivos varios, como colofón de una sucesión aleatoria de oportunidades y circunstancias concretas, aprovechadas con distinta fortuna por múltiples actores.

En principio se ha supuesto que el acontecimiento que desencadenó el desarrollo del computador fuese la Segunda Guerra Mundial; sin embargo, otros hechos nos llevan a otros años para situar su desarrollo.

Durante la II Guerra Mundial, los países que participaban en la lucha desviaron los recursos materiales y humanos que estaban trabajando en los primeros desarrollos significativos del cálculo programable y los aplicaron a sus necesidades belicistas.

El historiador de las ciencias y las técnicas que quiera escenificar la invención del computador es víctima de una segunda tentación clásica: la del individuo fundador. Varios candidatos comparten los créditos, entre los cuales cabe citar a Charles Babbage, Allan Turing y John von Newmann.

Charles Babbage
 
Matemático, astrónomo, economista, vinculado a la vida científica de la Inglaterra de la primera mitad del siglo XIX, sería un precursor ideal. Debe el privilegio de figurar en todas las historias de la informática con la concepción de dos calculadoras, la máquina diferencial y la máquina analítica.

La primera era una calculadora conectada a una impresora, especializada en operaciones muy frecuentes en cálculos astronómicos y en la creación de tablas matemáticas. Babbage la ideó hacia 1830. Su complejidad y su potencia superaban con creces las de las sumadoras y multiplicadoras disponibles por aquel entonces. No llegó a construirla, a pesar de la inversión de importantes sumas, incluyendo subvenciones del gobierno inglés entre otras.

En cuanto a los planos de la máquina analítica, jamás construida íntegramente, describían una calculadora no especializada, cuya configuración recuerda la de los computadores. Babbage, disocia por primera vez, las funciones de cálculo y de memoria, y, sobre todo, prevé un funcionamiento controlado por programas codificados en tarjetas perforadas.

Con las invenciones de Babbage no se intentaba construir un cerebro mecánico, ni siquiera una máquina universal capaz de procesar información de forma automática. La máquina analítica no es en su mente un soporte de programas, como lo son las computadoras. El objetivo de Babbage consistía, ante todo, en elaborar tablas náuticas, astronómicas y matemáticas exactas, que sustituyeran a las utilizadas hasta entonces, que estaban plagadas de errores. Para elaborar tablas numéricas precisas, era necesario mecanizar, al mismo tiempo el cálculo y la impresión. No se trataba del sueño de una máquina pensante, sino de proponer un método industrial que redujera los plazos de ejecución, eliminara los errores de cálculo y de composición, y abaratara los costos de edición de tablas.

En el caso de Babbage la idea de la máquina programable e incluso de la tarjeta perforada como soporte del programa procede de los telares de Jacquard.

Otra bifurcación de camino inicial la encontramos en la idea de «manufactura de logaritmos» de Maire Riche. Este, como director del catastro de París, organizó una verdadera fábrica para el cálculo de tablas matemáticas, aplicando los principios más estrictos de la división del trabajo.

El astrónomo ingles inspiró directamente la construcción de una decena de máquinas durante el siglo XIX, pero la influencia efectiva de sus trabajos en los inventores de las grandes calculadoras digitales de la década de 1930 y de los ordenadores de la década de 1940 fue prácticamente nula.

Alan Turing
 
Matemático y lógico inglés que murió en extrañas y trágicas circunstancias, fiel al estereotipo de sabio sacrificado. Turing interviene, en un principio, en la historia de la informática en calidad de teórico puro.

En 1936 publicó un artículo acerca de un complejo programa de lógica matemática. Este artículo contiene la descripción de un autómata abstracto  la máquina universal capaz de efectuar todos los cálculos inimaginables. Gracias a lo preciso de su descripción, Turing logró demostrar la existencia de problemas no solubles por la máquina universal y, por consiguiente, por ningún método de cálculo.

Unos años después, Turing participó en varios aspectos de la concepción de las calculadoras electrónicas inglesas y, después de la guerra en la construcción de los primeros ordenadores.

Desde el punto de vista puramente formal, y ciñéndonos a la cuestión de la “calculabilidad”, la máquina universal descrita en el artículo de 1936 es el equivalente lógico exacto del computador, aunque se anticipe a éste en unos diez años. Encontramos, en particular, las nociones de programa interno, de cálculos sobre los programas y de generalidad máxima, que buscamos en vano en la obra de Babbage. Es pues una tentación contemplar el computador como la encarnación del autómata lógico de 1936, máxime cuando el mismo individuo se vio implicado sucesivamente en la concepción de ambos. La computadora se concibió primero bajo una forma ideal, antes de reflejarse en una máquina real. Pero no debemos caer en esa tentación. La máquina universal de Turing, descrita en el artículo de 1936, no es, en el fondo, más que un artefacto muy ingenioso de demostración centrado en un problema matemático de base. La máquina de Turing no inspiró a ningún constructor un autómata concreto. El contexto en que había sido ideada se encontraba demasiado alejado de los problemas a los inventores de calculadoras de vidrio y de metal para que pudiese sacársele provecho.

Los fundamentos de tipo teórico, deben distinguirse de los cimientos, de orden genético.

John von Neumann
 
Representa la imagen del sabio reconocido. Normalmente se considera a  von Neumann como el fundador de la informática por haber desarrollado los planos del EDVAC (Electronic Discrete Variable Automatic Calculator), primer documento que describe la disposición interna y los principios de funcionamiento de los computadores modernos.

El caso von Neumann es claro porque surge, a todas luces, de una historia de caza y captura. Los planos de la EDVAC sintetizaban y ofrecían de forma atractiva todas las ideas formuladas por un grupo de trabajo de la Moore School of Electrical Engineering de la Universidad de Pennsylvana. Este grupo, que acababa de diseñar la primera calculadora electrónica americana, se dedicaba a la investigación de nuevos principios de organización y de funcionamiento para una segunda máquina, cuando von Neumann se unió a él. Muchas ideas originales de los planos de la EDVAC pertenecen a otros miembros de ese grupo.

La arquitectura Von Neumann, también conocida como modelo de Von Neumann, es una arquitectura de computadoras basada en la descrita en 1945, en el primer borrador de un informe sobre el EDVAC. Se describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de control que contiene un registro de instrucciones y un contador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida.

Un artefacto que no aparece en la evolución de las máquinas de cálculo hacia la computadora son las tablas de Napier, sin embargo, considero que igual que el ábaco chino esta herramieta es digna de mencionarse en este apartado.