Articles

Bill Gates, ¿programador?

Hace una o dos semanas hice un comentario desprevenido sobre que Bill Gates era un oportunista más que un visionario o un programador. Eso atrajo muchas discusiones – en ambos temas.

El lado del visionario frente al oportunista está bastante claro. Los visionarios crean nuevas estrategias, impulsan la comprensión del público de las nuevas ideas a través de la innovación y, en general, lideran la carga en nuevas direcciones. El historial de innovación de Microsoft es un conjunto nulo: casi todo lo que han hecho ha sido oportunista, ganando dinero con las ideas o productos de otras personas.

Básicamente Bill Gates ha ganado más dinero para él y sus accionistas vendiendo las ideas de Steve Jobs al público que Apple, pero es fácil ver quién ha sido el visionario y quién el oportunista en esa relación.

El tema de los programadores es mucho más difícil de llegar a la verdad. Aquí está la foto canónica de «fanboy» de Bill Gates, Programador extraordinario, de about.com:

Aunque Bill Gates es conocido sobre todo por su fundación de Microsoft, también ha realizado una serie de trabajos de programación antes de convertirse en el hombre más rico del mundo. El primer trabajo de programación de Bill Gates fue cuando le ofreció al director de su escuela secundaria un organizador de horarios que fuera más eficiente y fácil de usar que lo que el director había estado usando anteriormente. Poco sabía el director de Gates que Bill había creado el programa para su propio beneficio… Bill iba a estar en todas las clases de las chicas guapas. El segundo trabajo de Bill fue un verano de programación en el que ganó 4200 dólares. A los catorce años, Bill Gates y su compañero de programación pensaron en la idea de un ordenador para contar el tráfico, que más tarde se llamaría «Traf- o-Data» y con el que ganarían 20 000 dólares. Pero cuando se corrió la voz de que los ordenadores eran vendidos en un sótano por un par de adolescentes, el negocio se vino abajo. Gates también trabajó como congresista y en una empresa de programación llamada «TRW». Tras abandonar Harvard, Gates creó el primer lenguaje operativo básico para el ordenador. Aunque Gates ha programado un gran número de programas todavía sigue con fuerza y está programando mientras escribo esto.

¿Qué hay de cierto en todo esto? Algo de ello tiene una base en la realidad: está claro que aprendió algo de BASIC en la escuela; este resumen, por ejemplo, parece tener un soporte de consenso:

En 1968, a la edad de 13 años, cuando cursaba el 8º grado en la escuela Lakeside (un colegio privado exclusivo para chicos), tuvo acceso a un teletipo conectado por un módem de 110 baudios a un sistema GE MARK II de tiempo compartido que sólo tenía BASIC (Beginner’s All-Purpose Symbolic Instruction Code). El teletipo combinaba un teclado, una impresora y una perforadora y lectora de cintas de papel. El alquiler del teletipo costaba 89 dólares al mes y 8 dólares la hora de conexión (unos 450 y 40 dólares en dólares de 1998, respectivamente). Gates se convirtió rápidamente en un ávido programador y en uno de los principales usuarios del sistema.

(Nota: Puede experimentar un facsímil de esto por sí mismo – vea el proyecto de réplica del GE-235 BASIC dirigido por Tom Kurtz).

Paul Allen, dos años por delante de Gates en Lakeside, formaba parte del grupo que Gates encontró agrupado en torno al terminal GE, pero su atención, y la de la mayoría de los demás miembros del grupo, se centraba en los aspectos internos: no en el uso de BASIC, sino en lo que hacía que el aparato funcionara y, por lo tanto, en qué más se podía hacer.

Sin embargo, más allá de ese período, el panorama se vuelve borroso. Sabemos que Bill Gates vendió un par de proyectos de programación que culminaron con su propuesta a Altair de proporcionar un BASIC para la máquina MITS, pero no sabemos por fuentes independientes ni quién entregó esos proyectos ni qué se entregó..

Según un artículo de Andrew Orlowski en el register titulado Could Bill Gates Write Code? la respuesta con respecto al BASIC de Altair es un rotundo «Sí». He aquí un trozo del artículo:

Aunque hayas seguido nuestra saga del Altair BASIC de Micro-Soft de 1975 aquí y aquí, – una pregunta sigue sin respuesta.

¿Es bueno?

Reuben Harris ha estado desmontando un binario con algo de ayuda de Monte Davidoff, el tercer autor del Altair BASIC (junto con Gates y Paul Allen) y a quien entrevistamos aquí la semana pasada. Tiene la misma pregunta en mente:-

«‘¿Podía Bill Gates escribir código? O era simplemente el hombre vivo más afortunado», antes de concluir… «¡Sí que podía!»

Y eso debería ser convincente, excepto que no lo es porque la calidad del código no está en cuestión – y tanto IBM como DEC tenían productos similares para sus líneas 5X00 y PDP respectivamente. Lo que está en cuestión aquí es quién escribió primero ese código y sobre eso la única evidencia que tenemos está en un listado que milagrosamente salió a la luz en algún momento de 1999 – unos diez años después de que Bill Gates prometiera por primera vez hacerlo público.

Esa fuente, que puede ser vista pero no copiada en la biblioteca Pusey de Harvard, aparentemente contiene estos comentarios:

00560 PAUL ALLEN ESCRIBIÓ EL MATERIAL NO-RUNTIME.
00580 BILL GATES ESCRIBIÓ EL MATERIAL RUNTIME.
00600 MONTE DAVIDOFF ESCRIBIÓ EL PAQUETE MATEMÁTICO

Más allá de esto, lo que sabemos es que las otras personas involucradas desde los primeros proyectos, incluyendo a Allen y Davidoff entre muchos otros, han demostrado ampliamente las habilidades necesarias en otros contextos – pero Gates no. De hecho, la mayoría de las fotos de la época muestran a Allen trabajando con Gates mirando, e incluso la maquinaria publicitaria de Gates se ha retractado de las afirmaciones sobre su experiencia en programación posterior a 1975 y sus contribuciones personales al MS-DOS desde que la verdad sobre sus orígenes en QDOS y CP/M se ha establecido ampliamente.

En resumen, ¿era o es Bill Gates un programador? Está claro que hizo algo de programación en su adolescencia, pero no sabemos en qué trabajó, y mientras Paul Allen llegó a escribir simuladores de microprocesadores avanzados, Gates claramente no lo hizo.

Es legítimo, por lo tanto, argumentar que hizo programación, y por lo tanto debe ser, o al menos haber sido, un programador; pero, creo que las preguntas deben ser consideradas en gran medida sin respuesta porque tenemos un montón de afirmaciones, pero ninguna evidencia incontrovertible de cualquier trabajo serio.

Pero si nunca supo mucho de hacer software, ¿cómo logró construir Microsoft? Lo que creo es que la imagen que tienen los fanboys de él como el niño genio que se gana su camino de programador a multimillonario tergiversa la naturaleza de Microsoft como empresa de software. No lo es, es una empresa de marketing, y en ese contexto podemos tratar el resumen de David Every sobre cómo Microsoft consiguió el patrocinio de IBM como aplicable tanto al historial de programación de Gates tal y como lo ve el fanboy como una respuesta a la pregunta sobre el éxito de Microsoft: