Oficialmente Android ya soporta Rust como lenguaje de programación para su desarrollo

La mayoría sabemos que C y C++ son dos de los lenguajes más usados y eficientes, pero también sabemos que son famosos por sus problemas de gestión de memoria. El equipo encargado del desarrollo y mantenimiento de Android dentro de Google, ha expresado que los fallos de seguridad de memoria en C y C++ siguen siendo la fuente de errores en el código de Android más difíciles de gestionar.

Es por ello que desde hace algún tiempo Google no solo ha estado promoviendo el uso de lenguajes como Java y Kotlin, sino que ahora, AOSP (Android Open Source Project) soporta Rust como lenguaje para desarrollar el propio sistema operativo.

Rust para el sistema operativo, Kotlin para las apps

A la hora de desarrollar aplicaciones para Android, Google explica que lenguajes como Java y Kotlin son las mejores opciones. Esto es porque esos lenguajes están diseñados para ser fáciles de usar, portables y seguros.

Ahora, en el caso del propio sistema operativo como tal, Java y Kotlin dejan de ser la opción. Esto es porque las capas más profundas de Android requieren lenguajes de programación como C, C++ y Rust, es decir, lenguajes que proporcionen acceso a los recursos del sistema y al hardware de bajo nivel, que sea ligeros en recursos y que tengan características de rendimiento más predecibles.

En el caso de C y C++, el desarrollador es el que se encarga de gestionar el tiempo de vida de la memoria. Desafortunadamente, es fácil cometer errores al hacer esto, especialmente en bases de código complejas y multihilo.

Rust proporciona garantías de seguridad de la memoria utilizando una combinación de comprobaciones en tiempo de compilación para imponer la vida/propiedad de los objetos y comprobaciones en tiempo de ejecución para asegurar que los accesos a la memoria son válidos. Esta seguridad se consigue proporcionando un rendimiento equivalente al de C y C++.

Esto no significa en lo absoluto que Rust vaya a reemplazar a C/C++, y obviamente añadir soporte a un nuevo lenguaje no soluciona los bugs que ya existen en el otro. Como explican los ingenieros de Android: reescribir decenas de millones de líneas de código simplemente no es factible.


Sin embargo, la adición de Rust permitiría reducir el número y la densidad de futuros bugs, y también mejoraría la efectividad del sandboxing en Android, lo que a su vez también mejora la detección de bugs. El equipo de AOSP lleva 18 meses trabajando para añadir el soporte para Rust, y dicen tener algunos proyectos que compartirán en los próximos meses. Escalar esto a más partes del sistema es un proyecto de múltiples años que apenas acaba de comenzar.

Esto es otro empujón más a la popularidad creciente de Rust, un lenguaje que ha estado pasando de ser relativamente desconocido, a ser el más amado por muchos programadores, que tiene el potencial de poder incluso reemplazar C y C++ dentro de todo Microsoft, por justamente las mismas razones que Android le está dando soporte, y que incluso ha generado todo un movimiento para traerlo a Linux.

Genbeta, Menéame, Flipboard

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas