Utilizamos cookies propias y de terceros para mejorar nuestros servicios y facilitarte el uso de la web mediante el análisis de tus preferencias de navegación. También compartimos la información sobre el tráfico por nuestra web a los medios sociales y de publicidad con los que colaboramos. Si continúas navegando, consideramos que aceptas nuestra Política de cookies .

Una historia de la computación para los informáticos del futuro

La génesis y desarrollo del ordenador más allá de Turing, Church y Von Neumann.

LA MÁQUINA QUE CAMBIÓ EL MUNDO
GÉNESIS, DESARROLLO Y EVOLUCIÓN DEL ORDENADOR
Salvador Lucas Alba
Ediciones Complutense, 2019
205 págs.

Resulta difícil sobreestimar la importancia del ordenador en nuestra sociedad. ¿Todavía piensa el lector que eso a lo que llama móvil es un teléfono? No: se trata de un ordenador que, entre otras muchas funciones, permite realizar llamadas telefónicas. ¿Cree que lo que conduce es un coche? Cada vez más, los automóviles se están transformando, para bien o para mal, en computadoras con ruedas y motor. Y eso por no hablar de televisores, neveras y otros aparatos: la famosa Internet de las cosas traerá millones de ordenadores conectados, disimulados, por ejemplo, en nuestra ropa o incluso en el interior de nuestro cuerpo.

La aparición del ordenador constituye un hecho singular y único en la historia. Por primera vez tenemos a nuestra disposición una máquina universal, capaz de emular, o simular, a cualquier otra máquina. Obviamente, esa naturaleza universal hace que la primera vez que aparece un ingenio semejante sea también la última: un hito en la historia de la humanidad. El libro que nos ocupa narra justamente la historia de las ideas y las personas que protagonizaron el esfuerzo que acabaría dando como resultado el ordenador moderno.

Salvador Lucas, catedrático de lenguajes y sistemas informáticos de la Universidad Politécnica de Valencia, nos cuenta que ese esfuerzo nació con un problema matemático planteado por David Hilbert a principios del siglo XX y con la brillante solución encontrada por un joven genio llamado Alan Turing [véase «Ordenadores, paradojas y fundamentos de las matemáticas», por Gregory Chaitin; Investigación y Ciencia, julio de 2003]. El pistoletazo de salida se da en el mundo de las matemáticas, pero el trabajo de convertir esas máquinas universales en aparatos reales y tangibles se desarrolla a través de la física, las matemáticas, la lógica y la ingeniería para acabar creando una nueva disciplina: la informática.

La narrativa temporal que usa el autor, ordenada (casi) cronológicamente desde el problema que plantea Hilbert y resuelve Turing hasta hoy en día, nos lleva por toda una serie de pasos: la necesidad de programar los ordenadores con arquitectura de Von Neumann; los principios del uso del código máquina; los lenguajes de programación de alto nivel —¡qué acertada la decisión de ilustrar los programas usando Fortran!— y su evolución natural desde instrumentos para programar ordenadores a constructores de mundos de acuerdo a diferentes modos de conceptualizarlos (programación lógica, funcional, orientada a objetos e imperativa). También nos conduce por los problemas asociados a desarrollar programas correctos; por la crisis del software —aunque si después de sesenta años el software sigue en crisis, tal vez ese sea su estado natural—; por los sistemas operativos y, finalmente, por Internet y los protocolos que la hacen posible. El texto fluye de manera natural de un tema a otro y el lector se convence en todo momento de la necesidad del siguiente paso, como si todo fuera un plan trazado de antemano.

No cabe duda de que esa narrativa empuja a entender la informática como una disciplina cohesionada y coherente, aunque todavía no esté claro si se trata de una ciencia, una ingeniería, un poco de todo o incluso algo completamente nuevo. No importa: la historia de la que se ocupa el libro de Lucas merece ser contada, y es notable la cantidad de temas que quedan bien explicados en un texto de apenas 200 páginas.

El relato que aparece al principio de la obra, que tiene como protagonistas a Turing, Church, Von Neumann, el ENIAC, etcétera, ha sido contado en otras ocasiones [véase «Lo que Church y Turing ya sabían sobre mi portátil», por Salvador Lucas; Investigación y Ciencia, agosto de 2016]. Sin embargo, no es frecuente encontrar los temas tratados entre los capítulos 6 y 10. Nombres como Charles Antony Richard Hoare, Niklaus Emil Wirth, Peter Landin, Robert Kowalski, Alan Kay o Alan Perlis no resultan muy familiares a informáticos que no sean «de carrera», por así decirlo, y no es frecuente verlos en los libros de divulgación. La máquina que cambió el mundo hace justicia a estos pioneros y a algunos más explicando con claridad sus aportaciones, indispensables para entender la programación tal y como se practica hoy en día.

Hay algunos apartados del texto que resultan especialmente notables. Por ejemplo, poner énfasis en que «las ideas fundamentales que subyacen a estos [los lenguajes de programación] son las que ya avanzaron los lenguajes introducidos en las décadas de los años sesenta y setenta del siglo XX» (pág. 146) no solo es muy acertado: ¡es necesario! Cuando los lenguajes de programación dominantes hoy en día nos cuentan cosas como que Java tiene lambdas o que las templates de C++ son de lo que no hay, uno, que conoce Lisp y Smalltalk, no puede evitar sonreír con condescendencia al ver cómo la mercadotecnia que rodea al desarrollo de software se aprovecha de la ignorancia histórica de los mismos desarrolladores. Lisp y Smalltalk ya disponían de esos mecanismos en los años setenta, y bien implementados. Por ejemplo, las lambdas de Java ni siquiera son closures en condiciones, y cualquiera que conozca las macros de Lisp sabe que las templates de C++ no pueden competir con ellas. Disculpe el lector esta digresión técnica: tan solo quería enfatizar que el libro de Lucas puede ayudar a mitigar esta lamentable situación de ignorancia.

De igual modo, la mención al «problema del usuario final programador» (pág. 170) es otro acierto del texto. En este caso se subraya que el usuario final solo puede ser un creador, no un consumidor pasivo de software de terceros y dejado a merced de que otros decidan lo que puede y no puede hacer con su ordenador. Esta es una máquina universal, y como tal puede hacerse con ella lo que se desee. Y para ello solo es necesario saber hacerlo: es decir, saber programar. La idea de que, en un futuro, todos los usuarios deberían saber programar equivale a afirmar que todo usuario debería poder utilizar el ordenador para, como quería Douglas C. Engelbart en 1962, aumentar su intelecto.

Por último, y como esto es una reseña y no un elogio —muy a nuestro pesar—, procede mencionar algunas carencias del texto. Nada importante en realidad. En primer lugar, la historia del principio olvida todo el esfuerzo anterior al siglo XX por mecanizar los asuntos humanos: desde el Ars magna de Ramon Llull a finales del siglo XIII hasta los autómatas mecánicos de Jacques de Vaucanson en el siglo XIX, pasando por las calculadoras de Pascal y Leibniz en el siglo XVII. Sin embargo, su ausencia se entiende si consideramos el contenido central del libro. También, cuando en la página 186 se comenta el software que se ejecuta en los navegadores, se mencionan Java y las applets, hoy prácticamente desaparecidos de los entornos web, y en cambio no se dice nada de Javascript, sin duda el lenguaje de programación más usado en dicho ámbito. Esos párrafos merecerían una actualización. Lo que se explica sigue siendo correcto, pero el ejemplo está obsoleto. Y para terminar, el índice final contiene errores, pues los términos y los números de página (en los casos consultados) no se corresponden.

El libro de Lucas destila amor y pasión por la informática en cada uno de sus párrafos y nos transporta de la máquina de Turing a los ordenadores actuales de una manera interesante, didáctica y entretenida. Alan Kay decía en 1997 que la revolución informática todavía no había tenido lugar (afirmación que hace extensiva hasta nuestros días). Podemos decir, sin riesgo a equivocarnos, que entender la informática tal y como la esboza este maravilloso libro constituye un primer paso en esa revolución pendiente. Este recensor está convencido de que nos encontramos ante una obra inspiradora y que bien podría ser la semilla de esos futuros informáticos que Lucas, siguiendo a Alan Kay, reclama al final de su obra.

Puedes obtener el artículo en...

Revistas relacionadas

Los boletines de Investigación y Ciencia

Elige qué contenidos quieres recibir.