Parece que fue ayer cuando Microsoft anunciaba con bombo y platillo una nueva plataforma de desarrollo la cual prometía ser multiplataforma, eficiente y que podrías usar el lenguaje que te gustara. En esos años Microsoft acababa de pasar por un doloroso juicio anti monopolio y se veía amenzado por Java que también se diseñó para que se ejecutara en múltiples plataformas con un runtime.
La empresa de Redmon, Washington empezó como desarrolladora de lenguajes de programación y después se dedicó a los sistemas operativos, sin embargo, saben bien que las herramientas de desarrollo determinan que infraestructura se usa. Por otro lado el open source empezaba a agarrar tracción incluso con las empresas, así que Microsoft se vio obligado a proponer la nueva generación de aplicaciones y a ganar los más desarrolladores posibles.
A finales de los noventas ganó mucha popularidad Visual Basic por los poderoso y sencillo, introdujo el paradigma del Rapid Application Development, donde se podía programar en la interfaz, es decir, dibujabas un botón dentro de la ventana, le dabas doble clic y podías programar el comportamiento, era revolucionario. Personalmente me encantaba y con él empecé mi carrera como programador.
Construyendo sobre el éxito de Visual Basic, Microsoft libera .NET en 2002 acompañado con Visual Studio que es el ambiente de desarrollo. Contenía Visual Basic, pero la joya de la corona era C#, un lenguaje desarrollado por Anders Hejlsberg (creador de Turbo Pascal, Delphi) más elegante y menos complicado que su antecesor C++. Hejlsberg inicialmente se unió a Microsoft desde Borland para hacer la versión Java (llamada J++) de .NET pero por una demana de Java (que en esos tiempos era de Sun) Microsoft la hizo a un lado.
El framework de .NET contiene muchas librerías que hace la vida del programador más fácil, con el Common Language Runtime (el equivalente a la máquina virtual de Java), se podía crear una aplicación y podía ser implementada en varias plataformas aparte de Windows. Sin embargo, el desarrollo para la web iba a dominar el mundo, sería la plataforma universal. Para eso incluye ASP.NET que también tuvo mucha popularidad, pero en la actualidad solo es uno de los jugadores en este ambiente.
Microsoft en los primeros años sabía que la tecnología no era suficiente, necesitaba generar entusiasmo sobretodo en las universidades donde los maestros definían que herramientas enseñaban y los alumnos muchas veces se perfilaban profesionalmente con esos conocimientos. Así fue como hubo una estrategia de comunidades .NET en la cual participe como líder en la ciudad de Tijuana. Microsoft tiraba la casa por la ventana para hacer eventos masivos, talleres y certificaciones.
Las comunidades de programadores (antes llamadas grupos de usuarios) fueron muy valiosas en sus inicios, pero con la llegada de Stack Overflow y YouTube, así como varias universidades en línea, los desarrolladores ya no necesitaban consultar a expertos en su ciudad para solucionar problemas. Definitivamente las universidades tienen papel muy importante, pero práctimante cualquier podría aprender a programar, con dedicación.
.NET ha evolucionado mucho en los últimos años, paso de ser una herramienta para hacer aplicaciones de escritorio y web, a soluciones empresariales grandes con plataforma Azure, así como en el espacio móvil e internet de las cosas. Ha sido notable la apertura de Microsoft hacia el open source, todo .NET es open source, disponible en Git Hub.
Sin duda una de las cartas fuertes de Microsoft son las herramientas, Visual Studio siempre ha sido un excelente, y ahora en su versión 2022 por fin corre en 64 bits. Visual Studio Code es un IDE (ambiente ingregrado de desarrollo) ligero que corre en Windows, Mac, Linux y en la web con el cual se pueden desarrollar aplicaciones con múltiples lenguajes de programación, muy recomendable.
El marco de trabajo (framework) de .NET también ha evolucionado, hace unos años pasó de .NET a .NET Core el cual es completamente open source y fue escrito desde cero para ser más eficiente y realmente multiplataformas. Con .NET Core es pusible usar otros IDEs aparte de Visual Studio para generar aplicaciones.
Microsoft ha estado realizando eventos en línea para conmemorar este aniversario, llenos de nostalgia recordando como crearon las tecnologías y quieres fueron los arquitectos.
Cabe mencionar que hubo unos momentos de .NET casi dejaba de existir ya que Microsoft estaba apostando por frameworks de Windows para administración de archivos (WinFS), interfaz (WPF) y comunicación (WCF), pero afortudamente se dieron cuenta que no podían apostar en el sistema operativo para el futuro de la compañía, hubiera sido desastroso para Microsoft perder a los desarrolladores.
El presente y el futuro del gigante de Redmond está en la nube. Azure es el segundo más grande servicio después de Amazon. Es impresionante la cantidad de tecnologías y herramientas que ofrecen, están moviendo la infraestructura de las compañías grandes y pequeñas a un modelo en la nube.
Es emocionante ser desarrollador en estos tiempos, hay tanto poder computacional a la mano, sin embargo puede ser abrumador entender tantas tecnologías y técnicas, además de que cada día hay nuevas cosas. En mi opinión .NET sigue siendo una apuesta sólida para construir una carrera como desarrollador.