Rust avanza para convertirse en el segundo lenguaje del kernel Linux
Rust está llamado a hacer grandes cosas, hasta el extremo que se ha propuesto que Linux sea reescrito, al menos parcialmente, en dicho lenguaje de programación. Linus Torvalds no cerró la puerta a dicha posibilidad, pero el creador del kernel, que no es muy de cambios disruptivos, mostró cierto escepticismo sobre cómo funcionaría la tecnología procedente de Mozilla a la hora de la verdad.
Sin embargo, el fuerte interés en llevar Rust a Linux, unido al enorme potencial que atesora la implementación oficial del lenguaje, apuntaban a que su introducción iba a producirse más temprano que tarde, y según se ha podido ver recientemente, así va a ser, ya que algunos desarrolladores están dando importantes pasos para convertir a Rust en el segundo lenguaje del kernel Linux.
Antes de proseguir, es importante tener en cuenta que Linux, al menos a nivel de proyecto, no es C puro desde hace tiempo. Esto quiere decir que Rust no sería el primer outsider que se “cuela” en uno de los proyectos que, a día de hoy, se mantiene como uno de los principales bastiones del lenguaje que C, el cual ha aguantado y sigue aguantando como uno de los grandes referentes de la programación a bajo nivel.
El cambio propuesto por el desarrollador Miguel Ojeda haría que el código de Rust introducido en Linux se apoyara en la versión estable del compilador en lugar de la rama beta. Dicho código sería migrado en cada lanzamiento estable del compilador de Rust, que actualmente se encuentra en la versión 1.57. Al realizar esto, Ojeda ha explicado que han “podido eliminar de la lista algunas características inestables” que estaban usando.
Si bien la reescritura de Linux en Rust sigue sonando a algo inverosímil, es cierto que al lenguaje le han encontrado diversas facetas que puede cubrir. Aquí tanto Linus Torvalds como Greg Kroah-Hartman apuntaron en su momento a que los controladores serían el primer objetivo de Rust dentro de Linux. Por otro lado, Torvalds reconoció que en algunos aspectos han llevado C al límite para el desarrollo del kernel.
La razón de plantear la inclusión de Rust en Linux no es por moda, sino debido a que la implementación oficial del lenguaje de programación presenta mejoras frente a C al reducir las probabilidades de fallos de seguridad a nivel de la memoria. De esta manera, según el propio Miguel Ojeda, se elimina los problemas de comportamiento indefinido de C gracias a que “Rust no tiene un comportamiento indefinido”.
De aprobarse lo propuesto en el frente que nos ocupa, es probable que Rust empiece a tener protagonismo real en Linux a partir del año 2022. Ver a Linux reescrito en Rust sigue sonando en estos momentos más a una quimera que a otra cosa, más viendo que es un proyecto que roza las 30 millones de líneas de código, pero todo camino se empieza a recorrer con el primer paso y los avances tecnológicos podrían empujar en esa dirección para mantener al kernel al pie del cañón.