La historia de la creación de .NET

A propósito de mi “post” anterior sobre los delegados, varias personas han comentado su interés por saber algo más de la historia de la creación de .NET, y algunas de las curiosas circunstancias que se dieron, así que aquí va lo que yo sé por entrevistas con el propio Hejslberg, Don Box, y algunos otros. Hejlsberg es un tipo totalmente vocacional, y en otra entrevista decía “I got into programming not because I wanted to make a lot of money, or because someone told me to. I got into it because I just got totally absorbed by it. You just could not stop me“. De hecho, a la pregunta de porqué se había ido de Borland, respondió: “pensé que era el momento para mí de buscar nuevos retos. El tiempo que pasé en Borland fue excelente, pero por otro lado el tener la oportunidad de trabajar con algunos de los más brillantes diseñadores de la industria informática de hoy, me resultaba muy atractivo“.

(Hejlsberg en Tech-Ed 2007)

Hejlsberg entró en MS en 1996 con una oferta irresistible. Él mantenía correspondencia desde su época de arquitecto en Borland con algunos líderes tecnológicos de diversas compañías, entre los que estaban Brian Harry (MS), personal de IBM, de universidades, etc. Y uno de los motivos de esas discusiones trataba de cómo debería de ser un Garbage Collector (las discusiones sobre este tema son abundantes en la red), y sobre cómo se podría hacer una nueva plataforma de ejecución que mejorase las prestaciones de J2EE (más de 10 años después de la creación de éste). Gates quería conseguir una plataforma similar pero mejorada, que aprendiese de los fallos y mejorase y actualizase sus posibilidades. Y Hejlsberg era el candidato idóneo.

En 1996 (los datos económicos no vienen de su parte sino por otra via) MS le ofreció $1,5 millones + stock options por liderar el proyecto. Borland respondió con una contraoferta y entonces MS dobló su oferta, que -además- incluía carta blanca para fichajes de su propio equipo. Fin del debate.

El propio Hejslberg me decía lo siguiente respecto a sus propósitos iniciales: “yo me incorporé a Microsoft en Noviembre de 1996, y mi primer trabajo fue asumir la construcción (como Arquitecto principal) de Visual J++. El proceso de construcción ya había comenzado y yo de hecho me incorporé a lo que después fue la versión 1.1 del producto y  no era la forma idónea de abordar una implementación así, por que había que integrar como fuera Visual J++ dentro de Visual Studio, y tampoco podía decirse que estuviéramos usando el modelo de objetos idóneo en ese momento. Era como tomar la idea de C++ y poner Java 1.1 en su lugar, no tenía el “feeling” real de Java“.

Lo cierto fue que -en un momento dado- y debido al contencioso que mantenían MS y Sun se “despistó” un correo de Hejlsberg a Gates, con copia a los principales líderes técnicos vinculados al proyecto (Peter Kukol, Nathan Myhrvold, el fundador de MS Research, etc), donde contaba lo siguiente: “Ya tenemos planeada la arquitectura de la nueva plataforma y las líneas generales de cómo vamos a implementarla. También está muy avanzado el trabajo con el nuevo lenguaje. A falta de un nombre mejor, vamos a llamarlo J++”. Este lenguaje, finalmente, fue C#, por que a alguien se le ocurrió que # era en realidad como 4 signos +, y Anders afirmaba que se había inspirado en muchos otros lenguajes antiguos, no solo en C++ y Java, sino en Haskell, ML y varios más.

Respecto a C#, Anders añadía: “En C#, sin embargo, hemos podido abordar el problema completamente desde cero. Hemos considerado todas estas cosas, y hemos eliminado aspectos engorrosos, como la gestión de memoria, el manejo de punteros, y hemos hecho hincapié de forma muy especial en la seguridad de tipos y la conversión, etc, para permitir una mayor flexibilidad sin que eso suponga una pérdida de las posibilidades. Se puede seguir utilizando las características “antiguas”, como código no seguro, mediante una declaración explícita, o puede usarse código totalmente seguro. Esta es una de las características de flexibilidad más importantes dentro de C#”.

Otros dos pilares fundamentales a tener presentes en la construcción de la plataforma eran los servicios Web y XML como sintaxis (XML no es y nunca será un lenguaje en sí, sino una sintaxis, una forma de escribir datos con su descripción y su arquitectura. De ahí que de origen a distintas “gramáticas” que describen actividades diversas: MathML, CML VRML…), y MS ya se había anticipado y participó de forma activa en la construcción del estandar (ver documento oficial del estándar en W3C, donde aparece entre los firmantes de la especificación, Jean Paoli de MS, junto a personas de Sun, Netscape y el mundo académico.

Paralelamente, Don Box, que también colaboraba con W3C, pero en la creación del estándar SOAP, se incorporaría a MS junto a Peter Drayton, y varios más en lo que ya era una carrera imparable y bien definida en la construcción de esta plataforma…

Stan Lippmann

Entre ellos, a muchos les sorprendió encontrar a Stan Lippmann, que se convertiría en Arquitecto de Visual C++ .NET , principalmente centrado en las Extensiones Administradas del lenguaje. Durante más de una década estuvo en los Bell Laboratories donde trabajó junto a Bjarne Stroustrup (alma mater de C++) en las primeras versiones de cFront , la implementación de C++ de Bjarne.

El resto es más conocido. Cuando recupere algún dato más, lo comentaré por aquí, como lectura veraniega intrascendente…)

Saludos

 

4 comentarios en “La historia de la creación de .NET”

  1. La ‘culpa’ de que lea tu blog la tiene Rafa, y ya me fastidia tenerle que dar las gracias por dármelo a conocer. Lo que no me fastidia es dártelas a ti por éstos post 🙂

  2. Pues gracias a los dos por colaborar. Para mí, esto le dan un cierto “saborcillo humano” a algo que -visto desde fuera- puede parecer tremendamente racional, tecnológico y hasta “robótico”. Depués de todo, son personas, desarrolladores, como nosotros los que han hecho esto. Mucho más inteligentes que yo, eso sí…))

    De hecho, por si alguno quisiera leer la primera entrevista que le hice a Hejlsberg, está publicada en mi sitio en el apartado de artículos: http://www.elavefenix.net/articulos.aspx.

  3. Creo que esta entrevista es aún más interesante de leer ahora que en el 2001. Ya sabemos lo que es .NET y la perspectiva ‘histórica’ que dan los años transcurridos aporta valor añadido al artículo. Me resulta muy interesante y entretenido leer como dieron sus primeros pasos tecnologías que ahora son de uso común, sobre todo a los que venimos de ‘cosas’ como VB clásico 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *