2026 es un año emocionante para el compilador de Rust (y para mí)
La evolución de la hoja de ruta del compilador de Rust para 2026 está generando tanto entusiasmo como preocupación, ya que funciones planificadas como un nuevo solucionador de traits, avances en specialization, polymorphization y mejores valores predeterminados para la información de depuración prometen reducir deuda técnica, inflación de binarios y el tamaño del directorio target. Muchos desarrolladores elogian la seguridad y el rendimiento de Rust, pero señalan problemas reales con tiempos de compilación largos, artefactos de compilación enormes y exigencias de hardware, especialmente en comparación con Go o Python en proyectos grandes y CI. Otros se preguntan si Rust puede seguir siendo el lenguaje del futuro o si eventualmente un nuevo ecosistema que combine la seguridad de Rust con la simplicidad y velocidad de Go o Zig lo desplazará, sobre todo a medida que las herramientas asistidas por IA cambian cómo se escribe el código.
Manejo de títulos y rarezas de HN
- Varias publicaciones tuvieron sus títulos alterados automáticamente; las “correcciones” automáticas de HN a veces destrozan títulos legítimos o chistes.
- Las limitaciones de edición hicieron que el título correcto solo pudiera corregirse más tarde.
Tiempos de compilación e inflación del directorio de destino
- Varios comentarios informan de directorios
target/muy grandes (de decenas hasta ~190 GB) y de limitaciones en portátiles / discos pequeños. - El pesado
debuginfode Rust y la monomorfización, además de grandes árboles de dependencias y la duplicación de crates impulsada por funcionalidades, se citan como las principales razones de la inflación. - Mitigaciones sugeridas:
debuginfo = "line-tables-only"(pronto será el valor predeterminado paradev), el próximocargo gc, y herramientas para unificar las funcionalidades de dependencias a través de workspaces. - Las experiencias con los tiempos de compilación divergen mucho:
- Algunos ven compilaciones de release de aplicaciones reales que tardan de 15 a 90 minutos, lo que hace dolorosos CI y las ediciones.
- Otros informan de compilaciones incrementales de menos de un segundo a unos pocos segundos incluso para bases de código grandes, y consideran que las compilaciones de varios minutos son señal de una arquitectura del proyecto deficiente o de problemas del entorno (p. ej., antivirus en los directorios de compilación, árboles de dependencias enormes, macros/genéricos pesados).
Rust frente a otros ecosistemas
- Las comparaciones con Python y Go enfatizan el tiempo de “compilación” casi nulo en esos lenguajes frente al de Rust.
- Algunos cuentan enormes mejoras de rendimiento en tiempo de ejecución al reescribir Python en Rust, justificando compilaciones más lentas.
- Otros sostienen que los tiempos largos de compilación son una desventaja operativa (p. ej., interrupciones retrasadas por recompilaciones) y hacen atractivos a Go/Zig pese a sus compromisos.
- La discusión señala que los genéricos/la monomorfización y las macros derive cuestan tiempo de compilación de forma inherente, a diferencia del modelo de despacho más dinámico de Go.
Evolución del lenguaje y alternativas
- Algunos creen que el futuro de Rust es brillante y que ya es “el presente” (kernel de Linux, Windows, navegador).
- Los escépticos predicen un futuro lenguaje que combine la simplicidad de Go, la velocidad de compilación de Zig y la seguridad de Rust, posiblemente con sintaxis al estilo de Lisp.
- Otros señalan a OCaml y a sistemas de programación basados en GC como alternativas viables en algunos dominios.
Hoja de ruta del compilador y herramientas
- Entusiasmo por el nuevo solucionador de traits, Polonius y el progreso hacia funcionalidades largamente estancadas como specialization y mejoras relacionadas con async (Return Type Notation, funciones async en traits).
- Se habló de la polymorphization como una forma de reducir la duplicación de código; las formas básicas podrían habilitarse por defecto, con formas más agresivas para compilaciones de depuración/optimizadas en tamaño.
- El almacenamiento en caché persistente de rust-analyzer depende del trabajo en Salsa; existe soporte, pero es preliminar y aún no es una prioridad.
- Breves preguntas sobre el papel de Clippy en un futuro dominado por LLM; el consenso es que seguirá siendo útil.