Cuando empecé a escribir Rust, hace seis o siete años, la broma era que me iba a quedar sin amigos en el mundo de la programación. La broma tenía su parte de razón. Rust era el lenguaje que todos admiraban en las encuestas y por el que casi nadie cobraba. (Sigue siendo el más admirado: en la encuesta de Stack Overflow de 2025 encabezó esa lista por décimo año consecutivo, con un 72%.) Mi pregunta era más seria que las bromas: ¿llegaría Rust a adoptarse de forma amplia? Reescribir software heredado exige muchísimo tiempo y dinero, y «el lenguaje nuevo es más seguro» nunca ha bastado por sí solo para que una empresa lo pague.
En 2026 esa pregunta tiene respuesta. Microsoft, Cloudflare, Meta y GitHub están llevando partes de sus sistemas a Rust, y la IA ha hecho las grandes migraciones más viables de lo que yo imaginaba entonces. Vi la dirección pronto, pero con el momento tuve suerte. Este artículo trata de qué ha cambiado, de qué enseñan de verdad las grandes migraciones - y de cómo decidir si algo de todo ello se aplica a su sistema.
Por qué elegí Rust - y por qué los escépticos tenían razón
Los argumentos a favor de Rust estaban claros desde el principio. Ofrece el rendimiento de C y C++ sin recolector de basura, y su compilador descarta clases enteras de errores - uso tras liberación, desbordamientos de búfer, condiciones de carrera - antes de que el código llegue a ejecutarse. No son errores exóticos. En las grandes bases de código de C y C++ son la causa de fondo de la mayoría de los parches de seguridad graves, año tras año. Un lenguaje que los elimina en tiempo de compilación no es una preferencia de estilo; es otra curva de costes para ser dueño de un software.
Pero los escépticos tenían razón con el coste. Reescribir un sistema que funciona es un proyecto que pasa meses sin funcionalidades nuevas que enseñar. El ecosistema era joven, la curva de aprendizaje era real y contratar era difícil. Todos los CTO con los que hablé coincidían en que Rust era mejor y después, de forma perfectamente racional, no hacían nada. Acertar con una tecnología es barato. Acertar con el momento en que un sector puede permitirse adoptarla es lo difícil.
Qué ha cambiado: Microsoft, Cloudflare, Meta y GitHub
Microsoft incluye Rust en el kernel de Windows 11 desde 2023 - el código de regiones de GDI, enwin32kbase_rs.sys - y a finales de 2025 el Distinguished Engineer Galen Hunt describió el objetivo de eliminar C y C++ de las mayores bases de código de Microsoft antes de 2030, combinando IA y algoritmos - con una estrella polar: «1 engineer, 1 month, 1 million lines of code» (un ingeniero, un mes, un millón de líneas de código). Más tarde aclaró que se trata de un esfuerzo de investigación para construir herramientas de migración, no de un plan para reescribir Windows de la noche a la mañana. Ese matiz importa, pero también la dirección: la empresa con uno de los mayores parques de C++ del planeta está invirtiendo en abandonarlo.
Cloudflare reconstruyó en Rust el proxy central que está delante de millones de sitios web. El nuevo sistema, FL2, hizo que los sitios de sus clientes fueran hasta un 25% más rápidos y funciona con menos de la mitad de CPU y memoria que la plataforma a la que sustituyó - en buena parte porque ya no tiene que mover datos entre capas escritas en C, Lua y Rust.
Meta convirtió Rust en lenguaje de servidor con soporte oficial en 2022; desde entonces ha pasado de C a Rust la biblioteca central de mensajería que comparten Messenger, Facebook e Instagram, y ha reescrito la biblioteca de gestión multimedia de WhatsApp: 160.000 líneas de C++ se convirtieron en 90.000 líneas de Rust, pruebas incluidas. En 2026 portó además el React Compiler a Rust para acelerar las compilaciones. GitHub construyó desde cero en Rust su motor de búsqueda de código, Blackbird, que busca en casi 45 millones de repositorios.
Ninguna de estas empresas lo reescribió todo. Todas empezaron por la parte del sistema en la que no cambiar salía más caro.
Esa es la verdadera lección de las grandes migraciones, y es más útil que los titulares. No son historias de reescrituras heroicas. Son historias de reescrituras selectivas: un proxy en la ruta crítica, una capa de mensajería con historial de errores de memoria, un motor de búsqueda que tenía que ser rápido. El mismo patrón funciona a cualquier escala - es el enfoque strangler que describimos en modernización de sistemas heredados sin la gran reescritura, aplicado a un cambio de lenguaje.
La IA cambió la economía de la migración
Lo que no vi venir en 2019 fue la IA. Lo caro de una migración solía ser la traducción mecánica: miles de funciones reescritas a mano, línea a línea, por ingenieros que preferirían estar construyendo algo nuevo. Hoy las herramientas de IA hacen buena parte de esa primera pasada. En nuestro propio trabajo se les da bien traducir módulos autocontenidos, generar el andamiaje de pruebas que demuestra que el comportamiento no cambia y explicar código antiguo que nadie recuerda haber escrito.
Siguen flojeando en las partes que deciden si una migración sale bien: trazar las fronteras entre el código viejo y el nuevo, diseñar la propiedad de forma que no choque con el borrow checker y revisar los bloquesunsafeen los que terminan las garantías de Rust. Así que el coste se ha desplazado más que desaparecido - de teclear a decidir. Ese desplazamiento es justo lo que convierte una migración de una apuesta de varios años en una serie de proyectos de pocas semanas, cada uno de los cuales se amortiza solo.
¿Debería migrar a Rust? Un marco para decidir
Para la mayoría de las empresas, la respuesta honesta es «una parte, con el tiempo». Recorra su sistema módulo a módulo y clasifique cada uno en una de estas dos columnas.
- Genera un goteo constante de errores de memoria o de parches de seguridad
- Es una ruta crítica: la latencia o el coste de CPU se notan en la factura de la nube
- De todos modos tendrá que modificarlo a fondo durante el próximo año
- Tiene pruebas, o una interfaz clara contra la que se puede probar
- Es estable, apenas cambia y es barato de operar
- Es CRUD corriente: formularios, informes, flujos de trabajo
- Nadie del equipo se hará cargo de Rust después de la migración
- El único argumento para reescribirlo es que Rust está de moda
Después, migre lo que encabeza la primera columna, de módulo en módulo. Ponga el nuevo código en Rust detrás de la misma interfaz que tenía el viejo - una ABI de C mediante FFI, o un servicio independiente -, ejecute ambos en paralelo y cambie el tráfico solo cuando las pruebas y las métricas de producción coincidan. Si un módulo no se amortiza, pare ahí; habrá perdido semanas, no un año. Y si los argumentos a favor de Rust se reducen a que está de moda, no hay argumentos. La misma disciplina sirve para cualquier elección tecnológica, y por eso escribimos sobre la tecnología aburrida como bien de lujo. Diez años después de la 1.0, Rust se ha convertido discretamente en una de esas opciones aburridas.
La lección: no siga la moda
Si siete años de Rust me han enseñado algo, es esto: no siga la moda - piense en los problemas que el sector tendrá que resolver dentro de unos años. Seguridad de memoria, coste energético y de la nube, sistemas que hay que mantener durante décadas con equipos que no dejan de cambiar: esos problemas ya se veían en 2019 y hoy son aún mayores. La tecnología que los resuelve iba a ganar de todas formas; la única pregunta era cuándo se volvería asequible.
Merece la pena hacerse la misma pregunta sobre su propia hoja de ruta. ¿Qué problema de su sistema será caro dentro de cinco años - y cuánto costaría empezar a abordarlo ahora, de módulo en módulo?
Preguntas frecuentes
¿Está sustituyendo Rust a C++?
No en todas partes, pero en el código de sistemas nuevo y en las partes más sensibles en seguridad de las bases de código existentes, cada vez más. Microsoft, Cloudflare, Meta y GitHub ejecutan Rust en producción, y en muchas grandes empresas el trabajo de bajo nivel nuevo ya empieza en Rust por defecto.
¿Debería mi empresa reescribir su software en Rust?
Rara vez entero. Migre los módulos en los que más duelen los errores de memoria, la latencia o el coste de infraestructura, de uno en uno y detrás de una interfaz estable, y deje donde está el código estable y barato de operar.
¿Puede la IA traducir C o C++ a Rust?
Las herramientas de IA ya resuelven buena parte de la traducción mecánica, y eso es lo que hace viables las grandes migraciones. Los ingenieros siguen teniendo que diseñar las interfaces, revisar el código unsafe y demostrar con pruebas que el comportamiento no cambia.
¿Cuánto dura una migración a Rust?
Un solo módulo o servicio suele ser cuestión de semanas. Una base de código completa es un programa de varios años - precisamente por eso conviene hacerla de forma incremental, entregando valor después de cada paso.
Y sí, por el camino hice algunos amigos rustáceos. Un poco tarde, pero llegaron. Si está valorando una migración, aquí tiene cómo abordamos el desarrollo en Rust y la migración desde C/C++.
- The Register - Microsoft wants to replace its entire C and C++ codebase, perhaps by 2030 (dic. 2025)
- BleepingComputer - New Windows 11 build ships with more Rust-based kernel features
- Cloudflare Blog - la actualización FL2: el proxy central reconstruido en Rust
- Engineering at Meta - An inside look at Meta's transition from C to Rust on mobile (jul. 2025)
- Engineering at Meta - Rust at scale: an added layer of security for WhatsApp (ene. 2026)
- GitHub Blog - The technology behind GitHub's new code search
- Stack Overflow Developer Survey 2025 - Tecnología