- Los 50 años de innovación de Microsoft comenzaron con el código de Altair BASIC
- Fue el primer producto, anterior a Office, Windows 95, Xbox y la IA
- Este código abrió la era de la computadora personal y se convirtió en la base del crecimiento de Microsoft
El código más genial que he escrito
- En 1975, Bill Gates y Paul Allen fundaron Microsoft con la visión de “una computadora en cada escritorio y en cada hogar”
- Que Microsoft haya llegado a sus 50 años se debe en gran parte a grandes líderes como Steve Ballmer y Satya Nadella, así como a innumerables empleados
- Al llegar este momento tan significativo, Gates sintió alegría, pero también cierta nostalgia
- Siente como si hubiera sido ayer cuando programaba frente al PDP-10 de Harvard
- El inicio de Microsoft estuvo en la portada de la revista Popular Electronics de 1975, donde vio la computadora Altair 8800
- Altair era una PC en kit fabricada por una pequeña empresa de electrónica llamada MITS, y para la época era un producto revolucionario
- En cuanto vieron la revista, Gates y Allen intuyeron que se acercaba la revolución de la PC y decidieron sumarse a esa ola
Qué los llevó a decidir escribir el código de BASIC
- Ambos quedaron fascinados por las computadoras desde su época de estudiantes en la escuela Lakeside
- Les impresionó que Altair pudiera dar también al público general la oportunidad de programar
- Gates y Allen le propusieron primero a MITS desarrollar el lenguaje BASIC para Altair
- Pero en realidad era un software que todavía ni existía, así que tuvieron que crearlo ellos mismos
Conceptos básicos del lenguaje BASIC
- BASIC era un lenguaje de programación para principiantes creado en 1964 por dos profesores de Dartmouth College
- Fue diseñado para que incluso personas sin ninguna experiencia con computadoras pudieran crear sus propios programas tras un aprendizaje breve
- Ejemplos: una calculadora de saldo de chequera, un juego de tres en raya, etc.
- Fue el primer lenguaje de programación que aprendieron Gates y Allen, y sigue usándose hasta hoy
- BASIC es un lenguaje para indicarle tareas a la computadora, parecido al inglés, que permite ejecutar instrucciones, resolver problemas matemáticos y realizar funciones
Cómo hacer que la computadora entienda BASIC
- El problema era que la computadora no entendía BASIC
- Gates y Allen decidieron crear un intérprete (Interpreter) que tradujera el código BASIC a instrucciones de computadora y lo ejecutara línea por línea
- Tenía la ventaja de ofrecer retroalimentación en tiempo real, para que los principiantes corrigieran errores rápidamente
- También consideraron el enfoque de compilador (Compiler), que traduce todo el programa de una sola vez, pero concluyeron que el intérprete era más adecuado para principiantes
Inicio del desarrollo
- Como no tenían el chip Intel 8080 usado en Altair, Paul desarrolló en el PDP-10 de Harvard un programa para emular ese chip
- Gates escribió el código principal del intérprete, y su amigo Monte Davidoff se encargó del módulo de operaciones matemáticas
- Los tres trabajaron día y noche durante dos meses y lograron completar un software que en realidad no existía al inicio
Superar las limitaciones de memoria
- En esa época, la memoria de las computadoras era muy costosa, y añadir memoria a la Altair podía incluso elevar el costo por encima del precio de la propia PC
- La meta era implementar el intérprete de BASIC dentro de 4 KB
- Así, los usuarios todavía podrían disponer de memoria para ejecutar sus propios programas
- Gates alcanzó ese objetivo utilizando diversas técnicas de optimización de memoria
- Ejemplos: estructuras de datos comprimidas, algoritmos eficientes
El nacimiento de Microsoft
- Después de innumerables noches sin dormir, presentaron el intérprete de BASIC terminado a Ed Roberts, director de MITS
- La demostración fue exitosa, y MITS compró la licencia del software
- Gracias a ese éxito, Altair BASIC se convirtió en el primer producto de Microsoft y nació el nombre de la empresa Micro-Soft (más tarde se eliminó el guion)
- Ese único código se convirtió en el punto de partida de todas las innovaciones de Microsoft durante los siguientes 50 años
- La historia completa puede consultarse en las memorias Source Code
Descargar el código fuente
- Es posible revisar directamente el código fuente original de Altair BASIC con el que comenzó Microsoft
- Como documento histórico, muestra cuánto ha evolucionado la programación en los últimos 50 años, y Gates sigue sintiendo un gran orgullo por este código
Descargar código fuente (PDF)
2 comentarios
El código fuente de BASIC para 6502 que Microsoft suministró como OEM (Apple II, Commodore, etc.) ha sido restaurado (?) a un estado compilable.
https://github.com/mist64/msbasic
También hay bastantes casos de gente que arma directamente una SBC con 6502 y luego porta MSBASIC ahí.
https://github.com/beneater/msbasic
Está bien quedarse solo admirándolo, pero quizá sea más divertido meterse de lleno… ;)
Comentarios en Hacker News