Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=a3ad256c-13f2-4505-a4c4-24453fe70447

Error a lo grande de Microsoft: la polémica del Hot Reload en .NET 6

PortadaMe vas a permitir esta expresión fea, pero estos días Microsoft la ha "cagado" a lo grande y, probablemente, ha echado por tierra toda la buena reputación que se venía labrando en los últimos 8 o 9 años en el mundo Open Source.

Una de las características más relevantes de .NET 6, que sale en unos días, es Hot Reload. Básicamente se trata de una capacidad que permite que cuando estás desarrollando, si tocas código e, incluso, la interfaz en una aplicación, el compilador automáticamente lo detecta, compila los cambios y los inyecta en la aplicación de modo que se ven reflejados casi instantáneamente, sin tener que parar la aplicación y lanzarla de nuevo. Esto es súper útil para ganar productividad cuando desarrollas, y es uno de los puntos clave de herramientas de la competencia como Flutter, la plataforma de Google para crear aplicaciones móviles con su lenguaje Dart.

El caso es que Hot Reload ha sido una de las cosas más publicitadas y esperadas de .NET 6, y ha estado presente en las diferentes betas, previews y en las Release Candidates de .NET 6, pudiendo ser utilizada en todos los entornos y sistemas operativos que soporta .NET ya que se puede usar desde la herramienta de línea de comandos con el comando dotnet watch.

Bien, pues hace unos días, Microsoft anunció por sorpresa (te dejo este y muchos otros enlaces en la descripción) que Hot Reload solo iba a estar disponible en Visual Studio 2022, dejando fuera a los que desarrollan con Visual Studio Code, o en Mac o en Linux, y forzando a las empresas a comprar licencias de Visual Studio para poder tener esa capacidad.

El problema aquí es que la característica estaba disponible y funcionando, y se cargaron de un plumazo las algo más de 2500 líneas de código que la habilitaban, para atar a los usuarios de Visual Studio, algo que la comunidad no acepta en un producto de código abierto. Y esto además lo han hecho en una RC, algo que supuestamente es estable y no se toca más que para corregir bugs, y a unos días del lanzamiento del producto (aunque he de decir que esto de meter cambios gordos que rompen cosas en RCs viene de largo y no solo por parte de Microsoft, lo cual es una barbaridad y jamás había pasado: una RC es una RC por algo).

Lo peor de todo es que, para variar, gestionaron la comunicación fatal por varios motivos:

  • En primer lugar lo anunciaron de manera poco clara pensando que iba a pasar inadvertido.
  • Rechazaron una pull request de un desarrollador externo que devolvía la capacidad al producto, siendo este un producto open source. Aunque finalmente han aceptado otra que simplemente revertía el commit.
  • Según se dice en los mentideros, muchos desarrolladores del equipo estaban en desacuerdo y les forzaron a mantener silencio. No hubo una respuesta oficial a toda la polémica hasta hace unas horas.
  • En la respuesta oficial, en lugar de ser claros y simplemente decir que se equivocaron con la decisión, Scott Hunter, el director de .NET, habla de que "borraron el código sin darse cuenta", lo que todavía enfada más a la gente, algo que seguro tiene que ver con la jerga legal que les obligan a utilizar.

Al parecer a mucha gente de las altas esferas de Microsoft no le gusta nada que Visual Studio Code se esté comiendo el mercado de los entornos de desarrollo, y piensan que características avanzadas como esta deben estar atadas a Visual Studio. No solo eso, sino que la estrategia parecía ser cargarse dotnet watch completamente y que si quieres interactividad del algún tipo al depurar tuvieses que usar Visual Studio.

En mi opinión, Visual Studio tiene capacidades propias avanzadas suficientes como para justificarse por sí mismo, sin tener que tocar para nada el enorme trabajo Open Source que ha hecho el equipo de .NET. Pero qué sabré yo...

Este es un evento concreto muy relevante dentro de una sutil tendencia de fondo que lleva unos pocos años en marcha y que muchos ven con malos ojos. Te dejo un interesante artículo de Dustin Morris que profundiza un poco más en todo esto y que ha sido tremendamente influyente estos días.

Conclusión

Existen muchos estudios psicológicos que demuestran que para compensar una acción negativa hacen falta al menos 6 o 7 acciones positivas. Y al revés: puedes llevar muchas acciones positivas, que una negativa puede echar por tierra todo lo que haces. Esto es así en las relaciones personales, pero también en el Open Source y en la comunidad. Y más en un sector como el nuestro en el que estamos acostumbrados a que todo sea gratis y a que todo nos lo merecemos porque faltan programadores. Probablemente en nuestro sector hagan falta muchas más acciones positivas para compensar una negativa.

Créeme que sé de qué hablo, habiendo sido MVP durante más de 16 años, que es habitual que en la comunidad haya muchos fanáticos de Microsoft que no admiten que se critique a la empresa en nada. Pero en estos días me he quedado bastante alucinado con la unidad que ha habido en contra de esto, incluso en las listas internas de Microsoft donde casi nada se critica porque son un poco sectarias.

Ha sido prácticamente un "todos a una", y espero que Microsoft haya aprendido del error y haga muchas cosas positivas para compensarlo en los próximos meses o le va a costar recuperarse.

Al menos debería justificar de manera muy clara a partir de ahora por qué hace ciertos cambios en el código y no tocar las RC salvo que esté muy justificado.

Lo importante es que Hot Reload vuelve a ser para todos 😊

José Manuel Alarcón Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón
Archivado en: General

¿Te ha gustado este post?
Pues espera a ver nuestro boletín mensual...

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.