En la novela The Difference Engine, William Gibson y Bruce Sterling nos ubican en una Inglaterra Victoriana informatizada, imaginan que los esfuerzos de Charles Babbage por “… que estos cálculos pudieran hacerse con vapor” hubieran tenido éxito de forma que la era informática hubiera alumbrado un siglo antes y a partir de allí nos envuelven en una historia detectivesca , un género tan típico de aquella época.

La premisa, sin embargo, no es del todo correcta. La Máquina Diferencial como habitualmente, aunque incorrectamente, se la denomina en castellano (Ingenio de Diferencias o Máquina por Diferencias sería más apropiado) no era una computadora como las conocemos actualmente. Fue su sucesora, la Máquina Analítica la que podría considerarse precursora de las computadoras actuales pero su fama nunca fue igual a la de aquella y su nombre en el título de la novela no hubiera producido ninguna asociación mental, aún entre aquellos que pudieran tener alguna noción de la existencia de cualquiera de ellas.

Cuando yo estudiaba en la secundaria, aprendimos a usar tablas de logaritmos y trigonométricas y cargábamos con nuestra copias de tremendos libros llenos de tablas con números y más números. Estas tablas, prácticamente desaparecidas en la actualidad, eran la única forma en que se podían hacer cálculos complejos hasta bien entrada la década de 1970. El primer hombre llegó a la luna en 1969 y muy pocos de los cálculos necesarios para el diseño de las naves y su equipamiento se hacía en computadoras, la gran mayoría se había hecho en base a tablas y reglas de cálculo, pues a pesar del amplio presupuesto de la NASA y sus contratistas, el diseño de tal diversidad de piezas y partes requería tal variedad de cálculos distintos que no había programadores suficientes para calcular el tornillo este y la arandela aquella.

Por supuesto que la NASA disponía de computadoras que podían calcular, por ejemplo, órbitas y, dadas las observaciones de los radares en tierra y las lecturas hechas a bordo mismo de las naves, podían calcular dónde se encontraba la nave momento a momento y elaborar las correcciones de rumbo necesarias, pero estas son tareas que la NASA debe realizar habitualmente y en las cuales no puede darse el lujo de demorar, pues cuando la nave esta en vuelo, no hay tiempo que perder. Sin embargo, para cada uno de los miles de ingenieros que debían diseñar los millones de piezas que componían aquellas naves, esas computadoras eran inaccesibles. Plantearle el problema a alguno de los escasos programadores disponibles para que este lo resolviera demoraba más que hacerlo con regla de cálculo y tablas. Más aún, si uno pedía tiempo de programador para que analizara el problema, probablemente se lo dieran a los 3 meses; así era la informática en aquel entonces.

Aún en nuestros días, la Lanzadera Espacial ha sido diseñada, en su mayor parte, ya no con tablas, pero sí con regla de cálculo y calculadoras electrónicas, pero no con computadoras. El Boeing 777, cuyo primer vuelo fue en 1994, fue el primer avión diseñado totalmente por computadora.

¿Cómo eran estas tablas? Primeramente estaban divididas en secciones, como capítulos, uno para los logaritmos en base 10 y sus anti-logaritmos (la operación inversa), otro para cuadrados, cubos y sus recíprocas, las raíces; los demás para las funciones trigonométricas habituales y ocasionalmente también las hiperbólicas. Usualmente, unas páginas al principio mostraban algunas de las fórmulas habituales para generar cualquiera de los datos faltantes, como que la tangente de un ángulo es el cociente entre el seno y el coseno del mismo. Claro que, como hacer una división como esa podía ser trabajoso, usualmente también estaba la tabla de tangentes.

Recordemos que en aquel entonces, las calculadoras eran en su mayoría mecánicas y sólo sumaban o restaban. Aún las electrónicas, cuando aparecieron, primero sólo sumaban y restaban, luego aparecieron las que multiplicaban y dividían y no fue hasta mucho después que podrían hacer raíces cuadradas y funciones trigonométricas. Las memorias para almacenar los resultados intermedios aparecieron con estas últimas funciones más avanzadas, antes de ello, aún con las mejores calculadoras, había que tener papel y lápiz a mano para ir anotando los resultados intermedios.

Cada capítulo estaba compuesto de varias páginas, cada una mostrando un rango de números, por ejemplo, logaritmos entre 0,100000 y 0,100999, la siguiente página entre 0,101000 y 0,101999 y así siguiendo. Cada página dividida en varias columnas, habitualmente 10, la primera columna para el 0,100000, la segunda para los valores comenzando con el 0,100100, la tercera con el 0,100200 y así hasta el 0,100900. Finalmente, cada columna con 100 renglones, uno para cada valor. Todo esto en una tipografía minúscula.

Buscar un valor consistía entonces en buscar el capítulo correspondiente a la función deseada, la página con el rango buscado, dentro de esta la columna y luego recorrerla buscando la fila correspondiente. Como los logaritmos tienen valores recurrentes, por decirlo de alguna manera, con los logaritmos entre 0,1 y 1 alcanza para sacar el resto. En trigonometría, con dar los valores para un cuadrante se pueden calcular el resto, para eso estaban las fórmulas impresas al comienzo del libro. De esta forma, es posible obtener de tablas todos los valores posibles en base a los impresos más las reglas para obtener los restantes.
La cantidad de decimales que usé en los ejemplos no es caprichosa, las tablas se anunciaban por la cantidad de decimales. Una tabla normal tenía 5 decimales, una de bolsillo 3, una buena 7 u 8. Las calculadoras electrónicas manejan entre 10 y 12 decimales.

A estas tablas normalmente se las conocía como tablas de logaritmos, a pesar de que esos eran sólo uno de los tantos capítulos y es que esos eran los que más se usaban, cosa que llamará la atención pues son muchos más los usos que uno puede darle a las funciones trigonométricas que a los logaritmos: todo aquello donde haya algo remotamente circular o esférico requiere trigonometría, pero es difícil encontrar muchos usos para los logaritmos.

En aquella época los logaritmos se usaban para simplificar las multiplicaciones, divisiones y exponenciaciones. Para multiplicar dos números, se puede buscar en tabla los logaritmos de ambos números, sumarlos y buscar en tabla el anti-logaritmo de esa suma. El resultado es el producto. Elevar un número al cubo se puede hacer obteniendo el logaritmo del número, multiplicándolo por 3 y obteniendo el anti-logaritmo del resultado. En general para cualquier potencia basta buscar el logaritmo del número, multiplicarlo por la potencia y obtener el anti-logaritmo. Inversamente, para dividir dos números basta restar sus logaritmos. Sacar una raíz cualquiera requiere dividir el logaritmo del número por esa raíz. Agrupando convenientemente las operaciones, era posible hacer toda una cadena de simples operaciones con logaritmos antes de tener que usar el anti-logaritmo. Aunque parezca complicado, para cualquier operación con muchos dígitos, con un buen manejo de las tablas, era muchísimo más rápido que hacer las operaciones directamente.

Si bien estas tablas de logaritmos eran las más habituales, había muchos otros tipos de tablas de uso habitual en muchas otras industrias, por ejemplo, tablas de intereses simples y compuestos, para los bancos: antes de la informática, un ahorrista iba con su libreta al banco y le calculaban los intereses a mano usando una de estas tablas. Tablas náuticas, todavía en uso, para calcular la posición de una embarcación en base a las estrellas. Tablas de tiro, para que los artilleros pudieran calcular el azimut y elevación de un cañón dada la distancia, velocidad del viento, diferencia de altura entre el cañón y su blanco. Cada tipo de cañón tenía su propia tabla con un capítulo para cada tipo de munición que pudiera disparar.

La confección de estas tablas era lo que preocupaba a Babbage. Lo que el buscaba no era hacer una calculadora de uso general, pues era impensable fabricar máquinas para que cada banco, buque o artillero llevara una consigo. Lo que todos podían llevar era tablas, desde las mas simples como las de logaritmos, a las más específicas, cuyo cálculo se hacía usando las primeras. Un error en una tabla de base provocaba errores en todas las que se derivaban de ella y con ello las consiguientes pérdidas: intereses que no se pagaban, barcos que encallaban, batallas que se perdían.

La Máquina de Diferencias era una gran impresora de tablas numéricas. Producía columna tras columna de valores numéricos, tal como describimos anteriormente, por ejemplo, una columna para los logaritmos del 0,000100 al 0,000199. El diseño original incluía un mecanismo impresor. Y dado que en aquella época las páginas a imprimir se armaban manualmente con tipos móviles, letra a letra, número a número, y que esto era también fuente de errores, la Máquina imprimía sobre una pasta que luego, endurecida, servía de molde para vaciar el plomo que iría directamente a la imprenta, sin posibilidad de errores de transcripción.

Creo que estamos tan habituados a las computadoras y lo que hacen que nos olvidamos que, hasta no hace tanto tiempo y en algunas industrias aún actualmente, las tablas eran vitales y que una máquina como la de diferencias de Babbage no era, en realidad, una computadora como ahora la concebimos o como Gibson y Sperling cuentan en su novela. La Máquina Analítica, sin embargo, que nunca pasó de un concepto más o menos elaborado, sí habría sido más cercana a lo que ellos cuentan.