Toda historia tiene un inicio, e Isaacson decidió empezar con Babbage. Es un buen punto de arranque, totalmente legítimo. Sin embargo, a mi parecer, Babbage y su colaboración con Lady Lovelace, no representan el origen de una corriente que desemboca en la computación electrónica digital. Ciertamente, sus ideas son interesantes, y marcan un hito (y en el caso de Lady Lovelace, estamos ante una verdadera pionera y visionaria de la programación). Pero sus resultados realmente aportaron poco al desarrollo posterior.
A mi entender, la revolución digital comenzó en la primera mitad del siglo XX. En particular, el momento del nacimiento lo marcó la publicación de la tesis de maestría de Claude Shannon, "A Symbolic Analysis of Relay and Switching Circuits."
La gestación previa a ése punto es larga y lenta. Empieza con la aritmética simple (presuntamente usando los dígitos de las manos, de forma que sería, desde el principio, digital), y el uso de mecanismos simples: el ábaco representaría el estado del arte en el cálculo digital durante centurias
Probablemente la primera calculadora automática la desarrollo el joven Blaise Pascal, usando cilindros y un mecanismo astuto para realizar la suma de números decimales. Por su parte, Gottfried Liebniz especuló acerca de una máquina que pudiese "razonar" pero no desarrolló su idea lo suficiente como para hacerla realidad (uno de los hilos de "Ciclo Barroco" de Neil Stephenson, es la versión ficcionalizada de éstos intentos). No obstante, en cierto sentido antecedió la lógica simbólica que formaría la base de la contribución de Shannon.
La lógica simbólica y el sistema digital binario son las claves que ligan el antes y después de Shannon.
George Boole formuló por primera vez el "cálculo de proposiciones", el cual consiste en representar las proposiciones lógicas mediante símbolos, de forma análoga como en el álgebra matemático los números se representan mediante letras u otros símbolos. La representación simbólica permite empezar de una serie de postulados simples, y de allí ir construyendo teoremas", incorporando de ésta forma la lógica como una parte de la matemática, liberando el "razonamiento" de las proposiciones particulares, creando un sistema libre del contexto. De ésta forma nació el Álgebra Booleana.
La contribución seminal de Shannon fue demostrar, formalmente, la equivalencia entre el álgebra booleana, y el diseño de circuitos conmutados. De la introducción de su tesis (traducción liberal propia):
Cualquier circuito puede ser representado por una serie de ecuaciones, los términos de las cuáles representan los distintos elementos conmutadores del mismo. Se desarrolla un cálculo para la manipulación de éstas ecuaciones mediante procesos matemáticos simples... Se demuestra la equivalencia entre éste cálculo y el cálculo de proposiciones utilizados en el estudio simbólico de la lógica.Ésta equivalencia la desarrolló Shannon con el objeto de simplificar el diseño de circuitos. Una vez expresados los circuitos en forma algebraica, se aplican sistemáticamente las reglas del álgebra de Boole para obtener expresiones algebraicas simplificadas. :
Para encontrar el circuito con el menor número de contactos, es por lo tanto necesario manipular la expresión de forma que queden el menor número de términos.En cuanto al sistema digital binario, el mismo Leibniz había dado un tratamiento completo a éste sistema, y previamente Francis Bacon y John Napier habían tratado brevemente con éste sistema. Sin embargo, la base numérica binaria pasaría a ser una parte integral del mundo informático que conocemos.
Fue el mismo Shannon quien plantea la utilidad de éste sistema numérico. En su tesis plantea como ejemplo de su tratamiento la suma de dos números binarios. En dicha sección escribe, "Aunque se podría usar cualquier base numérica el circuito resulta más simple usando la escala del dos." Probablemente resultó así para Shannon, pero no todos lo consideraron así de inicio: varias de las primeras máquinas computadoras persistían en usar el sistema decimal, incluyendo la primera computadora electrónica general, ENIAC.
Este sería apenas el primer paso de un largo camino (que aun estamos recorriendo).