Microsoft se ha vuelto a meter en un drama enorme en la red, esta vez porque ha elegido utilizar Go antes que su propio producto, C#, para crear un compilador de TypeScript.
Índice
1 - Origen del problema
Ayer, día 11 de marzo de 2025 Microsoft anunció a bombo y platillo que ha desarrollado un compilador para typescript a otro lenguaje para que así sea código nativo. Hasta aquí todo muy bien, una buena idea y los resultados de primeras parecen increíbles pues es 10 veces más rápido que la implementación actual
Podéis leer el anuncio completo en este enlace: https://devblogs.microsoft.com/typescript/typescript-native-port/
El problema viene en la elección del lenguaje. Migrar de JavaScript a otros lenguajes es algo común por temas de rendimiento, pero la elección de microsoft ha sido que han elegido Go, en vez de elegir un lenguaje propio como C# y la comunidad se ha vuelto majara.
2 - Ha matado microsoft a C#?
La pregunta viene ahora de parte de los usuarios de C#, en otras palabras de los desarrolladores externos a Microsoft. Ya que si el propio microsoft no utiliza C# para sus implementaciones, significa que lo están matando?
Yo veo ambas caras de la moneda.
La elección de Go es clara para quienes lean la explicación (https://github.com/microsoft/typescript-go/discussions/411) , y es que después de analizar un monton de lenguajes, Go era el que mejor les venía por temas de rendimiento y portabilidad. Lo cual cumple con lo que siempre decimos de elegir la herramienta correcta para cada parte del trabajo.
En la entrevista original, enlazada en el primer enlace se hace referencia a mantener el uso de la memoria muy bajo para tener un mejor uso de la caché de la CPU.
No deja de ser la elección de Go para crear un compilador de TypeScript a lenguaje nativo, lo cual es una tarea muy específica.
Ahora, también veo la otra cara, donde managers con menos conocimientos técnicos ven esta noticia y dicen “si microsoft usa go, nosotros no vamos a utilizar C#”. Estas decisiones son muchas veces tomadas por personas que tienen un ligero conocimiento técnico, pero no trabajan con él en el día a día. Por ejemplo un product manager, y no deberían poder opinar, pero han ido a una conferencia donde lo que más alto ha sonado es que C# no se usa por microsoft, que ellos usan Go.
Lo importante de esta decisión es entender el motivo técnico por el que se ha tomado, y no leer solo el titular clickbait o la miniatura que seguramente ponga yo en youtube para intentar ganar clicks.
2.1 - Van a dejar las empresas de usar C#?
Mi opinión es que no, el uso de C# va a seguir o debería seguir siendo el mismo que si el compilador estuviera escrito en C#, rust o zig.
De hecho voy a decir otra cosa, si no tuviéramos una nueva versión de C# en tres o cuatro años “tampoco pasaría nada”, ya que es un lenguaje muy completo tal y como está ahora mismo. Estoy seguro de que la gran mayoría de vosotros no teneis todas las aplicaciones en NET 8 y eso que es la única versión LTS de .NET con soporte actual, ya que para .NET 6 se acabo en noviembre de 2024.
En conclusión, la elección de Go para esta herramienta específica responde a razones técnicas claras. No implica el fin de C#, y la comunidad debería enfocarse en entender el motivo detrás de esta decisión en lugar de caer en alarmismos. Además microsoft ya tiene un montón de productos donde no usa C# y no pasa nada.