El BASIC de la empresa Apple, para su popular computadora Apple II, tiene una historia notable. Para empezar, más de uno podría sorprenderse al saber que Microsoft hizo la primera versión del intérprete de BASIC de punto flotante para Apple. Pero más allá de esto, la historia habla de los tiempos en donde las unidades de disco eran escasas, en donde los módem trabajaban a 110 baudios, y en donde los programadores no tenían siquiera las herramientas más elementales para poder crear sus programas. Fue una época en donde todo el trabajo que se hizo en años podría hacerse en un par de meses con las herramientas que ahora se tienen. Esto puede darnos una mejor idea del «trabajo de hormiga» que se hizo los primeros años para ir armando esta industria que ahora produce miles de millones de dólares y que da trabajo a muchísimos programadores que han bosquejado cómo será el mundo en el futuro. Sigan leyendo, es en mi opinión una historia fascinante.

En 1975 y 1976, Microsoft era la empresa que producía los intérpretes de BASIC para casi todos los microprocesadores en el mercado. A mediados de 1976, Richard Weiland, Bill Gates y Monte Davidoff portaron el BASIC del 8080 de Intel al nuevo procesador 6502, incluso cuando no existía aún ninguna máquina que tuviese ese microprocesador en uso. Para hacer esto se usó un simulador del procesador 6800, que fue escrito por el primer empleado de Microsoft, Marc McDonald. El portar la 6502 no fue realmente complicado porque el conjunto de instrucciones de ambos procesadores eran muy parecidos.

Entonces llegaron Wozniak y Jobs con la Apple II. Uno de los empleados de Microsoft le llamó a Jobs para saber si les interesaba el BASIC que ellos tenían. Jobs respondió que ya tenían un BASIC y si requiriesen uno mejor, lo escribirían ellos mismos «el fin de semana». Por muchos meses, Microsoft tuvo su BASIC 6502 en el cajón, esperando que alguien decidiera usarlo. Y llegó la Computadora PET, que fue diseñada por Commodore. En octubre de 1976, compraron una licencia del BASIC de Microsoft para incorporarlo a su computadora. Este sería el primer BASIC en ROM, es decir, no había que cargar el intérprete de una cinta o disco. En el dinero que había que pagarle a Microsoft se estipulaba que esto se haría hasta que la máquina estuviese en plena producción.

Por ese entonces, Apple empezó a recibir un número importante de peticiones de incorporar un BASIC de punto flotante. El Integer BASIC , el cual había escrito Wozniak (y que había llamado Game BASIC), trabajaba bien, pero no era muy fácil de usar con las variables de punto flotante, incorporadas en el Integer BASIC ROM de Apple. El problema era mayor, pues estas rutinas no tenían la precisión necesaria para el mundo de los negocios. Por ello, Wozniak se puso a trabajar en esta empresa, pero tenía además el trabajo de crear la primera unidad de diskettes para la Apple II y el trabajo del BASIC de punto flotante se iba atrasando cada vez más. Por ello, Apple decidió ir con Microsoft y licenciar el producto que le habían ofrecido en 1976.

¿Pero de cuánto dinero estamos hablando? Apple pagó a Microsoft en agosto de 1977 unos 10,500 dólares por la primera mitad de la licencia. Sin embargo, Microsoft jugaba más al modelo de una cuota fija por cada copia que se vendiese con la computadora, algo así como le cobraron a IBM cuando Microsoft negoció el sistema operativo (lo que eventualmente sería el MsDOS). Pero el hecho de que Microsoft negociara dos pagos por la licencia de su BASIC habla de las limitaciones financieras que tenía la naciente empresa de Bill Gates.

Microsoft licenció la versión 1.1 del 6502 BASIC corrigiendo algunos bugs. En Apple, Randy Wigginton trabajó en incorporar los comandos gráficos únicos para la arquitectura de la Apple II. Clif Huston, también de Apple, se involucró en el proyecto del BASIC de punto flotante (al que llamaron Applesoft). De acuerdo a Huston, el código fuente de Microsoft era «un desastre» y hubo que corregir muchísimos bugs además de incorporar la parte de los comandos gráficos. Pero el problema no sólo era de programación, sino que en ese entonces no había las herramientas para el desarrollo de programas. Por ejemplo, se necesitaba un buen ensamblador, el cual no se tenía en la Apple II. Wigginton programaba usando un ensamblador cruzado, que trabajaba usando una conexión por módem de 110 baudios. El trabajo no era muy agradable e incluso era tedioso por la lentitud de la conexión. Los módems de 56K eran 500 veces más rápidos, pero aún no existían. Para colmo, el ensamblador usado estaba escrito en BASIC y el resultado de un ensamble completo podía llevar más de dos horas. Imprimir el código fuente simplemente era una tarea imposible.

Para diciembre de 1977, Wigginton entró en crisis, porque la empresa Call Computer, que le daba el servicio para ensamblar sus programas, destruyó accidentalmente el trabajo de algunas cuentas, incluyendo la que tenía que ver con el proyecto de Applesoft. Los respaldos en cinta fallaron porque aparentemente una lectora en lugar de leer los datos respaldados, borraba la información de las mismas. En algún momento se llegó a la conclusión que la mayoría del trabajo había sido destruido y solamente quedaban algunas notas manuscritas. Se había esperado que la versión a liberar de Applesoft estuviese para enero de 1978.

Continuará…

Referencias:

Apple2History