¡Atención, amantes de la historia de la informática! Para celebrar lo que sería el 50º aniversario de la creación de su primer producto, el propio Bill Gates ha compartido una verdadera joya: el código fuente original del Altair BASIC. Pero no esperes encontrarlo en un moderno repositorio de GitHub; esta reliquia nos llega como un PDF de 157 páginas, escaneado directamente del papel continuo original. Una ventana fascinante a los mismísimos inicios de Microsoft.
El chispazo y el «engaño» que lo empezó todo
En una entrada de su blog, Gates recuerda con nostalgia aquellos días, hace casi 50 años: «Parece que fue ayer cuando Paul (Allen) y yo estábamos inclinados sobre la PDP-10 en el laboratorio de computación de Harvard, escribiendo el código que se convertiría en el primer producto de nuestra nueva compañía. Ese código sigue siendo el más genial que he escrito hasta hoy…«
Todo comenzó al ver el Altair 8080 en la portada de Popular Electronics de enero de 1975. Gates y Allen supieron al instante que la revolución del computador personal era inminente y querían ser parte de ella desde el inicio. Bill llamó rápidamente a Ed Roberts, cuya empresa MITS fabricaba los kits del Altair. En una jugada audaz, afirmó que ya tenían una versión de BASIC lista para el microprocesador 8080 y que estaban listos para hacer negocios. La única verdad en esa afirmación era que, efectivamente, estaban ansiosos por empezar.
Noches de código y un desafío de 4KB
La realidad era que no tenían nada. Para cumplir su promesa de un BASIC para microprocesadores 8080, Paul Allen tuvo que escribir primero un simulador del 8080 para la PDP-10 de la universidad, ¡basándose únicamente en un libro con el conjunto de instrucciones del 8080 que compró en una librería cercana! Mientras tanto, Bill Gates se encargó de programar el intérprete de BASIC. Gates ya tenía experiencia previa escribiendo un intérprete de BASIC para la PDP-10, pero el verdadero reto era comprimir todo el lenguaje en tan solo 4 Kilobytes de memoria, dejando espacio suficiente para que el usuario pudiera ejecutar sus propios programas.
«Para cumplir esa restricción«, escribe Gates, «utilicé varias técnicas para optimizar el uso de memoria, como estructuras de datos compactas y algoritmos eficientes. Fue un desafío divertido y, aunque Paul y yo estábamos estresados por entregar el Altair BASIC a MITS lo más rápido posible, me lo pasé genial descubriendo [el código] para hacer que todo encajara«.
La presentación, el olvido y el milagro
Con el código terminado, Paul Allen viajó para entregarlo a MITS en una cinta de papel. Hay que recalcar que el programa nunca se había probado en un Altair real, solo en el simulador. Para añadir más tensión, durante el vuelo, Allen se dio cuenta de que ¡habían olvidado escribir el cargador de arranque (bootstrap loader) para la cinta de papel! y lo escribió en el transcurso del viaje. Cualquier programador sensato habría apostado a que las posibilidades de que funcionara eran prácticamente nulas. Sin embargo, como se cuenta en viejas entrevistas, tras un primer intento fallido, ¡el código funcionó a la segunda! Dejando a Ed Roberts y al propio Allen completamente asombrados.
El nacimiento de Microsoft y los secretos del código
Ese éxito no solo validó su trabajo, sino que también les obligó a formalizar su colaboración bajo un contrato con MITS. Fue Paul Allen quien sugirió el nombre: «Micro-Soft», una combinación de Micro(procesador) y Soft(ware). Bill Gates asumió el rol de Presidente y Allen el de Vicepresidente. Así nació la compañía que cambiaría el mundo.
El código en sí, desarrollado por Gates, Allen y Monte Davidoff (quien escribió el paquete matemático) en apenas dos meses de trabajo intenso, es un testimonio de una era de programación casi extinta: la programación artesanal, optimizada al extremo por las severas limitaciones de recursos. Se usaron trucos como aritmética solo con enteros, variables de una sola letra y comandos almacenados como tokens de un solo byte para ahorrar espacio.
Incluso los comentarios dentro del código son reveladores. Uno de ellos hace referencia a Bob Albrecht, figura clave de la People’s Computer Company y promotor del TinyBASIC. El comentario «¿ESTA BOB ALBRECHT TOCANDO LA CAMPANA PARA LOS NIÑOS DE LA ESCUELA?» aparece en la rutina de entrada del teletipo (la única interfaz de entrada salida en aquel momento) y comprueba si el carácter introducido es el código ASCII de la campana (Bell). Este comentario probablemente aludía a la tensión existente en la época. Mientras Gates se quejaba públicamente de la «piratería» de su Altair BASIC, Albrecht y la PCC promovían TinyBASIC como una alternativa libre y gratuita.
Del código en papel a la filantropía global
Es increíble pensar en el contraste: hace 50 años, luchaban por cada byte y por las regalías de su software; hoy, Microsoft es un gigante tecnológico que impulsa el código abierto y Bill Gates es un filántropo multimillonario.
A pesar de todo lo que ha avanzado la programación, Gates concluye en su blog: «La programación de computadoras ha recorrido un largo camino en los últimos cincuenta años, pero todavía estoy súper orgulloso de cómo resultó [el Altair BASIC]«.
Este código no es solo un artefacto histórico, es la semilla de la que brotó una de las empresas más influyentes de nuestro tiempo. Una lectura obligada (aunque sea simbólica) para cualquiera interesado en los orígenes de la computación personal.