Microsoft lleva tiempo buscando la forma de reforzar la seguridad de todo su sistema Windows. Y es que muchas de las vulnerabilidades que nos encontramos hoy en día en el sistema se deben a fallos de programación heredados del uso de lenguajes antiguos como C o C++. Aunque poco a poco se van corrigiendo estos fallos de seguridad, esto no es más que una solución temporal. Por ello, el gigante de Redmond se ha propuesto empezar con uno de los cambios más ambiciosos de la historia del sistema operativo: reescribir grandes partes de Windows en un lenguaje de programación diferente: Rust.
La mayor parte del código fuente de Windows está escrito en C y C++, los dos lenguajes de programación más usados en los años 80. Aunque los problemas heredados del uso de estos lenguajes han dado más de un dolor de cabeza a Microsoft, reescribir partes del código de Windows, que utilizan lenguaje heredado, desde cero es una tarea prácticamente imposible para una compañía. O, al menos lo era hasta la llegada de la Inteligencia Artificial.
La IA, nos guste más o menos, ha abierto un nuevo mundo de posibilidades, tanto para los usuarios domésticos que la utilizan en el día a día como, sobre todo, para empresas. La llegada de los asistentes de programación, por ejemplo, permiten a las empresas desarrollar proyectos que antes eran totalmente inviables. Microsoft, por supuesto, ha visto en esta IA una oportunidad de oro. Y no solo para hacer más dinero con ella, sino también para llevar a cabo proyectos que antes no podía por falta de presupuesto, personal y recursos. Y uno de los más ambiciosos ya es oficial: cambiar grandes partes del código fuente de Windows a Rust.

Rust + WebView2, el futuro de Windows
El objetivo de Microsoft es claro: eliminar cada línea de C y C++ de Microsoft para 2030. Para ello, Microsoft confía en que la combinación de automatización, herramientas y agentes de IA les permita reescribir código de forma masiva a una velocidad que, con métodos tradicionales, sería impensable. Este objetivo va acompañado también de un lema interno que describe muy bien los objetivos de los trabajadores: «1 ingeniero, 1 mes, 1 millón de líneas de código»
¿Y por qué Microsoft ha escogido Rust? Muy sencillo: porque este lenguaje está diseñado para ser seguro por defecto. En su diseño, Rust apuesta por algo crucial: ofrecer garantías fuertes de seguridad de memoria por defecto. Es decir, a la hora de programar, salvo que se use explícitamente «unsafe», el lenguaje verifica en tiempo de compilación que el acceso a la memoria sea seguro. De esta forma, eliminamos vulnerabilidades comunes en C/C++, como los desbordamientos de búfer (buffer overflows) o las condiciones de carrera (race conditions).
Además de la seguridad, Rust aporta mucho otro valor añadido al sistema, ya que se trata de un lenguaje más moderno, más compatible, y con muchas más posibilidades que los lenguajes antiguos. Eso sí, traducir código no es lo mismo que mantener su intención original, algo especialmente delicado en un sistema operativo.
¿Cómo nos afecta el cambio?
En cuanto a los usuarios, el cambio de C / C++ a Rust no debería suponer nada más que una mejora en seguridad (y, probablemente, en estabilidad y rendimiento). Si todo sale bien, podríamos ver un Windows con menos fallos críticos relacionados con memoria y, a medio plazo, una mejora real en la seguridad base. Pero Microsoft sí que prepara otro cambio que, la verdad, no acaba de convencer: aumentar la presencia de WebView2 en toda la interfaz. Ya hay algunos elementos (como el centro de notificaciones) que utiliza tecnología web para renderizar el contenido. Pero si se cambia todo el código a Rust, buena parte de lo que «vemos» podría acabar usando tecnologías Edge/WebView2. Microsoft separaría por completo la interfaz del motor del sistema, dejando una filosofía «nativo/seguro por abajo, web/reutilizable por arriba».
Ahora solo queda esperar a ver cómo lleva Microsoft el cambio. Y lo más importante: ver si Microsoft pone todas las medidas necesarias para que la migración del código usando agentes de IA no traiga regresiones difíciles de detectar y no convierta a todo el sistema en un «caldo de cultivo de bugs».
| Componente del Plan | Beneficio Esperado (Para el Usuario) | Riesgo o Inconveniente Potencial |
|---|---|---|
| Migración del Código a Rust |
|
|
| Uso de IA para la Migración |
|
|
| Mayor Uso de WebView2 |
|
|
