Microhistorias: ¡Yo escribí FAT en un avión, por Dios! - Bill Gates

d8bcd476-7b14-4ee4-982c-f21afbcab380_16.jpg

Gracias a la evolución del hardware, los programadores de hoy en día tenemos muchas más facilidades a la hora de programar, en el sentido de transparencia con respecto al hardware en términos generales, es decir, no tenemos que pensar en como la información va a moverse del disco a la memoria, de la memoria a los registros de la CPU, de como la memoria está organizada, etc.

Esto no ocurría años atrás. Por ejemplo, con Altair, los programadores ni siquiera tenían un teclado para introducir sus programas, e inicialmente tenían que cargar incluso la rutinas de arranque a través de conmutadores.

El equipo de desarrollo de Windows 3.0 tenían que escribir código en 16bits. Por aquel entonces la memoria estaba dividida en segmentos y sin entrar mucho en detalles, uno de los objetivos del equipo era el cómo organizar el código en memoria, para que las funciones que se llamaran de forma frecuente y conjuntas se almacenaran en el mismo segmento de memoria. Con esto se conseguían ahorrar ciclos de CPU en la carga de segmentos de memoria. A nivel de sistema, ese ahorro de ciclos de CPU pueden marcar la diferencia. Y por lo visto el equipo de Windows 3.0 pasaba bastante tiempo realizando optimizaciones de este tipo.

Bill Gates quería estar al día de la evolución de Windows 3.0 y frencuentemente tenía reuniones con el equipo del mismo. En una de las reuniones, Bill Gates, ya cansado de oír sobre las optimizaciones de los segmentos de memoria, etc, se quejó diciendo: “You guys are spending all this time with your segment tuning tinkering. I could teach a twelve-year-old to segment-tune. I want to see some real optimization, not this segment tuning nonsense. I wrote FAT on an airplane, for heaven’s sake.”.

Traducido viene a decir algo como: “Ustedes pasáis todo el tiempo jugueteando con vuestra optimización de memoria. Yo podría enseñar a un niño de 12 a optimizar la memoria. Quiero ver alguna optmización de verdad, no esta optmización sin sentido. Yo escribí FAT en un avión, por Dios

Por lo visto esa frase de “Yo escribí FAT en un avión, por Dios” era algo que a Bill Gates le gustaba decir a los programadores, cuando estos, según Bill Gates, no hacían “programación real”.

Como nota curiosa, en dicha reunión la jefa o manager del equipo cansada de escuchar a Bill Gates quejarse le dijo: “Fine, Bill. We’ll set you up with a machine fully enlisted in the Windows source code, and you can help us out with some of your programming magic, why don’t you.

Vale, Bill. Te vamos a preparar una máquina con todo el código de Winows y así puedes ayudarnos con algo de tu programación mágica, ¿Por qué no?

Esto le calló la boca Bill Gates.

Me pregunto si en vez de Bill Gates fuera Steve Jobs, la jefa le hubiera respondido de la misma manera. Apuesto a que no :)

Con respecto a que Bill Gates escribiera FAT en un avión, debe ser un mito por dos motivos principalmente:

  1. La primera versión de FAT (8 bits) fue escrito por Marc_McDonald, eso sí, tras varias conversaciones con Bill Gates. Estamos hablando del año 1977. En 1978 creó su Stand-alone Disk BASIC-80, el cual era básicamente el Altair Basic que Bill Gates y Paul Allen habían creado anteriormente, con la ayuda de algunos estudiantes, y en éste se incluyó por primera vez el sistemas de ficheros FAT. Stand-alone Disk BASIC-80 fue creado para sistemas 8080.
  2. En 1978 no existían portátiles u ordenadores que fueran operativos desde un avión.
Por lo tanto esa frase, no sabemos si Bill Gates la usaba para motivar o poner más presión a los programadores.

Referencias: FAT I wrote FAT on an airplane, for heaven’s sake