El lenguaje C es uno de los lenguajes de programación más populares y más de moda de los últimos tiempos, pero la cosa va a más: Rust pronto se usará además en el kernel Linux.
Lo afirma incluso Linus Torvalds, creador de Linux y máximo responsable de su desarrollo, que indicó recientemente que es posible que veamos la integración de Rust en la próxima gran versión del kernel, la que será Linux 5.20.
Lenguaje Rust sigue ganando terreno
Las últimas tres décadas Linux ha estado fundamentalmente basado en el lenguaje de programación C, pero en los últimos años hemos ido viendo cómo Rust ha ido ganando popularidad y convirtiéndose en una opción como «segundo idioma».
Rust se creó en 2012 y recuperó, como decía su creador, «un montón de buenas ideas, conocidas y queridas en otros lenguajes, no se habían aprovechado en lenguajes usados a amplio nivel, o se integraron en lenguajes que tenían modelos de memoria muy pobres».
Linus Torvalds ya confesó hace más de un año que estaba interesado en este proyecto pero advertía de que el soporte de Rust en Linux «aún no está fino». Por entonces hablaba de su posible inclusión en el kernel 5.14, pero finalmente esa integración no se produjo.
Ahora parece que todo está preparado, y en el evento Open Source Summit celebrado hace pocos días en Texas, Torvalds reveló que «me gustaría ver que la inclusión de la infraestructura de Rust comienza en la próxima versión, pero ya veremos».
Los desarrolladores del kernel Linux están preparando la versión 5.19 —que no será la que incluya Rust— para su salida probable en agosto, y el ritmo de aparición de nuevas versiones del kernel es de unas 10 semanas, así que puede que por fin veamos Rust en el kernel Linux 5.20.
¿Son buenas las noticias sobre integrar Rust en Linux?
A Linux le ha ido muy bien con el lenguaje C durante todos estos años, así que ¿por qué meter ahora un segundo lenguaje? ¿No complicará eso las cosas?
Lo cierto es que Rust es un fichaje importante para Linux porque facilita el desarrollo de software seguro. Como explicaban nuestros compañeros de Genbeta, Rust asegura una excelente gestión de memoria como gran pilar de su uso, pero a ello le añade una sintaxis moderna.
Los desarrolladores coinciden con esa apreciación. Samartha Chandrashekar, directiva en Amazon Web Services, explicaba que este lenguaje «ayuda a garantizar la seguridad de los hilos y a evitar errores relacionados con la memoria, como los desbordamientos de la memoria intermedia que pueden dar lugar a vulnerabilidades de seguridad». El propio Torvalds destacó que «hay razones técnicas reales como la seguridad de la memoria y por qué es bueno que Rust acabe en el kernel».
Aunque Rust parece destinado a formar parte del kernel Linux, el lenguaje C seguirá siendo absoluto protagonista. El despliegue inicial será más simbólico que otra cosa, y simplemente preparará las cosas para que los desarrolladores puedan ir usando Rust en diversos componentes en posteriores versiones del núcleo Linux.
Entre esos componentes están algunas APIs, el soporte de ciertas arquitecturas y las llamadas ABIs (Application Binary Interfaces) que permiten garantizar la compatibilidad entre Rust y C. El kernel Linux sigue evolucionando, y ahora lo hará con la ayuda de Rust.