A principios de los años 90 Windows parecía no tener rival, pero internamente varias amenazas planteaban cambios radicales. Una era Borland y su prodidigioso entorno de programación Turbo C++
La otra, NeXT, la empresa que Steve Jobs creó en 1985 y con la que sentó las bases de una plataforma de desarrollo de aplicaciones gráficas que acabaría llegando a los Mac y los iPhone. Microsoft no estaba preocupada por los Mac, pero sí por esa idea que revolucionaba el mundo del desarrollo.
Disrupciones y el dilema del innovador
Lo comentaba Steven Sinofsky, que durante años fue máximo responsable de Office y acabaría liderando el desarrollo de Windows 7 en Microsoft. Este ingeniero está publicando una fantástica newsletter autobiográfica titulada 'Hardcore Software' en la que habla de todos aquellos años en Microsoft y en la que repasa diversos momentos cruciales para la compañía.
Uno de ellos se produjo a principios de los años 90, cuando Microsoft, que ya comenzaba a dominar de forma aplastante el mercado de los ordenadores personales, se dio cuenta de cómo BASIC ya no atraía a los desarrolladores, que comenzaban a interesarse por los lenguajes de programación orientados a objetos y por lenguajes mucho más potentes como C++ que permitían programar aplicaciones con una interfaz gráfica de usuario (GUI) notable.
Borland y su Turbo C++ Professional dejó a las herramientas de Microsoft en evidencia: era mucho más rápido en todo, e integraba editor, compilador y depurador. Pronto se convirtió en la suite que todo desarrollador quería usar.
Microsoft, que se dio cuenta de que la revolución estaba en las aplicaciones con su GUI, trató de crear un SDK (Software Development Kit) para facilitar esa tarea, pero seguían sin llegar al nivel de la suite de Borland. "Esa fue mi primera experiencia con la disrupción", destacaba Sinofsky, que comentaba que aunque esa palabra aún no formaba parte del vocabulario tradicional dejaba claro que "pequeños" actores podían plantar cara a corporaciones de la talla de Microsoft en ciertos nichos de mercado.
Jobs y NeXT le muestran el futuro a Microsoft
En Microsoft iban claramente por detrás en cuanto a herramientas de desarrollo. De hecho, confesaba Sinofsky, seguían usando Xenix (un UNIX comercial) y OS/2 para desarrollar software para MS-DOS y Windows, y envidiaban a plataformas como Apple, que durante años invirtió en una serie de herramientas para desarrollo de aplicaciones con GUI para los Macintosh.
Por aquella época, por cierto, Apple tenía una cuota de mercado insignificante si la comparábamos con la de Microsoft en cuanto a sistemas operativos. Hacía años que Steve Jobs había sido despedido, pero no se había quedado quieto y en 1985 había fundado NeXT, una empresa que no era especialmente conocida por el gran público pero que era seguida muy de cerca por Bill Gates (BillG, como le denomina Sinofsky constantemente por su dirección de correo original de Microsoft) y por toda la industria.
Cuando Jobs presentó nuevos ordenadores de NeXT y herramientas para esta plataforma en San Francisco en 1990, dio paso a Jim Manzi, CEO de Lotus. El directivo presentó una nueva y revolucionaria hoja de cálculo llamada Improv, y al hablar de ella indicó que "no podríamos haber creado este nuevo y revolucionario producto en ninguna otra plataforma".
La referencia era clara: no hubieran podido hacerlo en Windows. "Microsoft tenía que hacer algo", destacaba Sinofsky. "Algo con Borland y NeXT". El directivo dejaba claro así cómo aunque Microsoft había logrado dominar el mercado en muchos ámbitos, su posición de privilegio estaba amenazada.
No en el ámbito de los sistemas operativos, sino en el del software. Atraer a los desarrolladores y que trabajaran en tu plataforma podía no estar tan de moda en aquella época —el desarrollo independiente era mucho menos visible y las grandes empresas software dominaban el mercado—, pero contar con una plataforma notable para desarrollar era clave.
De hecho los éxitos de NeXT eran claros: en 1989, un año después de que la empresa anunciara su primer ordenador, Sir Tim Berners-Lee usó una de esas máquinas para crear la World Wide Web.
Jobs no solo copió Mac OS del Xerox PARC
Mucho se ha hablado de cómo Steve Jobs "se inspiró" en los proyectos del Xerox PARC y entendió que la interfaz gráfica era el futuro de la computación, pero en aquella visita también pudo ver cómo funcionaba Smalltalk, un lenguaje de programación que planteaba un nuevo paradigma: el de la programación orientada a objetos.
El entorno de desarrollo de Smalltalk era gráfico, y crear una interfaz gráfica para una aplicación era algo directo en este entorno. Jobs comprendió que aquello era otra revolución, pero curiosamente no la aplicó a los Macintosh, en los que programar una aplicación gráfica era mucho más complejo que lo que se lograba con Smalltalk.
El propio Jobs lo reconoció en su lanzamiento de los ordenadores NeXT en 1988. Allí explicó cómo "Macintosh fue una revolución que lograba hacer la computación más sencilla para el usuario final. Pero el desarrollador software pagó el precio... Es muy complicado desarrollar software para el Macintosh. Si observas el tiempo que lleva desarrollar una aplicación con GUI, la interfaz de usuario se lleva el 90% del tiempo".
Con NeXT, Jobs quiso solucionar el problema, y en su sistema operativo NeXTSTEP integró herramientas de desarrollo con el lenguaje de programación Objective-C —licenciándolo— como protagonista para reducir el tiempo que un desarrollador dedicaba a la interfaz gráfica: pasaba del 90 al 10%, según aquella presentación de Jobs.
Entre los componentes clave desarrollador por Steve Naroff, responsable de la adaptación del lenguaje a NeXT, está la llamada AppKit (curioso cómo los nombres actuales de plataformas de desarrollo de Apple siguen ese mismo esquema) que se conjugaba con la llamada 'Interface Builder' para "conectar" objetos de sus aplicaciones de forma gráfica.
Aquella propuesta fue todo un acierto: NeXTSTEP acabaría siendo la base de Mac OS X una década después, y Objective-C seguiría siendo lenguaje de referencia para los programadores no ya de Mac OS X, sino incluso de iOS cuando apareció en el mercado. Solo en 2014 Apple acabó cediendo el testigo para convertir a Swift en su nuevo lenguaje de programación de referencia, aunque Objective-C sigue usándose hoy en día.
Microsoft, mientras tanto, seguía anclada en el pasado, y tanto Borland como NeXT estaban ganando una batalla que la empresa de Redmond tardó mucho tiempo en lograr igualar.
Ver 21 comentarios