top of page
  • Foto del escritorReclunautas

#EsTendencia Este es el curso gratis que usan en Google para aprender el lenguaje Rust. Tú también puedes hacerlo libremente

Hace tres años, Google introdujo Rust en Android como lenguaje para el desarrollo de este sistema operativo móvil: no para las aplicaciones, campo en el que Kotlin sigue siendo la gran apuesta de la compañía, sino para las capas más profundas de Android, que proporcionan acceso de bajo nivel al hardware. En ese sentido, la apuesta de Android por el prometedor y cada día más popular Rust no es muy diferente de la del equipo desarrollador del kernel Linux.

Y, como parte de ese esfuerzo de soporte al desarrollo con Rust en la plataforma Android, algunos de los desarrolladores del sistema operativo móvil estuvieron trabajando en la elaboración de un curso de este lenguaje para ayudar a sus compañeros a sumergirse en el mismo desde cero (aunque siempre dando por sentados conocimientos previos de C++ y/o Java).


Rust integral, y de acceso libre

Dicho curso, bautizado como 'Comprehensive Rust' ('Rust integral'), está disponible de forma libre y en español en GitHub, listo para que cualquiera pueda consultarlo (y modificarlo).

"El curso tiene como objetivo enseñar Rust a gente sin conocimiento previo del lenguaje. Cubrimos el lenguaje completo, desde la sintaxis básica hasta temas más avanzados como los genéricos, el manejo de errores y la concurrencia. Todavía no cubrimos Rust asincrónico, pero eso es algo que queremos hacer con el tiempo".

Originalmente, el curso se limitaba a introducir al lector en las bases de Rust durante cuatro días. Ahora, esas lecciones forman sólo la primera parte del curso (Rust Fundamentals) y, una vez finalizada, "estás invitado a profundizar en uno o más temas especializados":

  • Android: una lección de medio día sobre el uso de Rust para la plataforma Android desarrollo (AOSP). Esto incluye interoperabilidad con C, C++ y Java.

  • Chromium: una lección de medio día (sólo disponible en la versión en inglés) sobre el uso de Rust dentro de navegadores Chromium. Esto incluye la interoperabilidad con C++ y cómo incluir paquetes de terceros en Chromium.

  • Bare-metal: una lección de un día completo sobre la ejecución de código Rust sin un sistema operativo. Se abordan tanto los microcontroladores como los procesadores de aplicaciones son cubierto.

  • Concurrencia: una clase de un día completo sobre concurrencia en Rust. Se abordan tanto la concurrencia clásica (programación preventiva utilizando subprocesos como mutex) como la concurrencia async/await (multitarea cooperativa usando futuros).

"Lo hemos estado enseñando internamente [...] y a la gente parece gustarle. Espero que sea útil para otras organizaciones que quieran enseñar Rust a sus desarrolladores".

Ojo: el curso te inicia en Rust, pero asume que ya sabes programar

Pero, ¿qué diferencia este curso de recursos oficiales (e igualmente libres y disponibles online) como 'Rust Book' o 'Rust by Example'? Pues veamos:

  • El curso está pensado para servir como capacitación presencial en el aula, por lo que, si bien se presenta en formato web, las páginas intentan ser "pequeñas como diapositivas".

  • Las páginas son muy interactivas: cada ejemplo de código se puede editar durante la clase: "Cuando lo he estado enseñando, básicamente termino codificando en vivo frente a la clase".

  • 'Comprehensive Rust' es en algunos aspectos menos avanzado que los recursos citados ("la mutabilidad interior es algo que mi curso no cubre bien", confiesa su autor) y, en otro, mucho más: "tenemos un capítulo especializado en el uso de Rust en Android, y también contenido sobre interoperabilidad con C, C ++ y Java".

"El curso será menos útil para el autoestudio, ya que el usuario se perderá las discusiones que tienen lugar en el aula: no podrá presenciar las preguntas y respuestas ni los errores del compilador cuando se prueban los ejemplos de código. Esperamos mejorar esto [en el futuro] a través de notas de oradores y publicando videos".


7 visualizaciones0 comentarios

Comments


bottom of page