IntelliJ Rust Learning Courses News Project-Based Learning

Aprenda Rust con los IDE de JetBrains

Read this post in other languages:

No hay una única forma de aprender un lenguaje de programación: cada uno lo hace a su manera. Hay quienes leen mucho (libros, blogs, tutoriales, documentación, debates de Reddit, respuestas de StackOverflow, etc.); otros hacen preguntas y se fijan en los ejemplos; otros escriben su propio código y trabajan en los proyectos que más les gustan; otros resuelven problemas; y otros exploran ecosistemas. A cada uno le funciona mejor una cosa, y los hay incluso que hacen todo lo anterior. Es habitual empezar aprendiendo las funcionalidades del lenguaje y cómo combinarlas en los programas, y, en algún punto, se estudian los distintos enfoques para resolver problemas. Tarde o temprano, se pasa de usar componentes de bibliotecas estándar a bibliotecas externas y se explora cómo probar, depurar, escribir registros, perfilar las aplicaciones, etc.

Rust no es una excepción: no hay recurso educativo suficiente para llegar a dominarlo. Aun así, en JetBrains tenemos una sugerencia: nuestro curso gratuito Learn Rust, que cubre muchas de las necesidades de aprendizaje que acabamos de mencionar.

El curso se basa en los contenidos de The Rust Programming Language, un libro de Steve Klabnik y Carol Nichols con contribuciones de la comunidad de Rust. Aunque incluye la mayoría de los ejercicios del famoso conjunto Rustlings, aproximadamente una cuarta parte de los ejercicios los hemos diseñado específicamente para el curso. En lugar de limitarnos a recopilar materiales existentes, hemos combinado los textos y los ejercicios, y les hemos dado forma de IDE para crear una nueva forma de aprender Rust.

Por qué Rust

Según la encuesta de desarrolladores StackOverflow, Rust lleva 7 años consecutivos siendo el lenguaje de programación preferido, así como el más demandado (empatado con Python).

Hace poco, Rust se hizo un hueco en la lista de lenguajes compatibles para escribir componentes del núcleo de Linux (y es el segundo lenguaje de dicha lista, justo después de C). Libcurl, una de las bibliotecas más utilizadas para obtener datos a través de redes, está pasando de forma gradual a Rust. Google ha informado de que la proporción de código Rust en su implementación de Android aumenta de una versión a otra, lo que les ayuda a reducir el riesgo de vulnerabilidades y mejorar la seguridad. Microsoft confía en gran medida en Rust para proporcionar seguridad de memoria en sus productos, mientras que Amazon utiliza Rust para garantizar la sostenibilidad de su infraestructura.

Los desarrolladores que utilizan otros lenguajes de programación, como JavaScript o Python, suelen recurrir a Rust cuando necesitan mejorar el rendimiento de las herramientas y las bibliotecas.

Por último, pero no por ello menos importante, Rust cuenta con una comunidad muy acogedora, siempre dispuesta a ayudar y animar a los principiantes.

En definitiva, los alumnos potenciales deben ser conscientes de que Rust tiene una curva de aprendizaje difícil y este debe ser sistemático, lo cual es exactamente lo que tratamos de ofrecer con nuestro curso Learn Rust.

Aprenda Rust en un IDE

El curso Learn Rust está basado en la plataforma educativa proporcionada por el complemento JetBrains Academy. Este complemento está disponible en muchos IDE de JetBrains, entre los que se incluyen CLion, GoLand o IntelliJ IDEA Community Edition, y no solo le permite aprender Rust, sino otros lenguajes de programación de forma gratuita.

Los cursos basados en IDE requieren la lectura de materiales educativos, la exploración de ejemplos de código y la resolución de problemas, que en nuestro curso están estructurados en lecciones y secciones. Cada lección incluye una secuencia de pasos sencillos, entre los que podemos encontrar pasos teóricos con un ejemplo con el que hacer pruebas o pasos de problemas en el que tendremos que resolver uno. Estos últimos pasos permiten comprobar fácilmente las soluciones.

Si trabaja con un curso basado en IDE, dispondrá de una ventana de IDE totalmente funcional con tres paneles: una vista general del curso, un editor de código y una descripción, tal como se aprecia en la siguiente captura de pantalla.

La ventaja de hacer un curso en un IDE es que, a la vez que aprende un lenguaje, adquiere experiencia en el desarrollo de software. Mientras realiza los ejercicios prácticos, también escribe, comprueba, corrige, ejecuta, depura y prueba el código, tal como haría un programador real como parte de su rutina diaria de desarrollo de software. Al final del curso, no solo habrá adquirido un conocimiento sólido sobre el lenguaje de programación, sino que también se habrá familiarizado con una herramienta de desarrollo profesional y estará preparado para convertirse en desarrollador de software.

Eche un vistazo a la página IntelliJ IDEA for Education para obtener más información acerca de los beneficios de aprender a programar en un IDE.

Características del curso

En el curso Learn Rust, al igual que en el libro en el que está basado, se da por sentado que tiene conocimientos prácticos de algún lenguaje de programación. En lugar de ofrecer una introducción a la programación, se le enseña a programar en Rust en concreto, de modo que se salta la mayoría de temas básicos que suelen incluir los cursos de programación.

Siguiendo la estructura de The Rust Programming Language, el curso está estructurado en las siguientes secciones:

  • Introducción
  • Conceptos básicos sobre programación
  • Entender la propiedad
  • Estructuras, métodos, enumeraciones y concordancia de patrones
  • Módulos
  • Colecciones habituales
  • Gestión de errores
  • Tipos genéricos, características y vida útil
  • Escritura de pruebas automatizadas
  • Tipos de biblioteca estándar
  • Simultaneidad intrépida
  • Macros

Learn Rust contiene 331 pasos en total, entre los cuales hay 210 pasos de teoría y 121 pasos de resolución de problemas. Cada paso del curso se presenta en forma de paquete Cargo, lo que permite mostrar y aprender no solo las características básicas del lenguaje Rust, sino también módulos, contenedores, macros, pruebas de los paquetes, dependencias externas, etc.

Trabajar en cada paso implica tanto leer como trabajar con código. Si el código que contiene el paso tiene la función principal, puede ejecutarse:

En la mayoría de los pasos de resolución de problemas, se le expone a un único archivo de código (como se aprecia en la captura de pantalla anterior), pero, a veces, tiene acceso a toda la estructura del paquete para que pueda explorar los componentes importantes, como los archivos de descripción del proyecto:

Desde este punto, puede acceder a la documentación de un contenedor o conocer las versiones disponibles.

Por supuesto, al hablar de probar paquetes de Rust, exponemos los archivos de prueba:

Puede ejecutar las pruebas una por una o todas a la vez antes de comprobar la solución haciendo clic en el botón Check.

Estas funcionalidades tienen como objetivo introducirle en las mejores prácticas de desarrollo de software en los IDE lo antes posible. Creemos que el uso de herramientas profesionales desde el principio del proceso de aprendizaje es muy beneficioso. Así pues, gracias a que Rust es totalmente compatible con los IDE de JetBrains, ahora también puede hacerlo mientras aprende Rust.

¡Aprenda Rust y díganos qué le parece!

Si bien es cierto que para aprender Rust en profundidad no basta con seguir este curso, creemos que puede ser un buen punto de partida para que los futuros desarrolladores se adentren en el apasionante mundo de la programación en Rust. ¡Esperamos que disfrute estudiando Rust con nosotros! No dude en compartir su opinión en la sección de comentarios o poniéndose en contacto con nosotros en academy@jetbrains.com.

Artículo original en inglés de:

 

Luiz Di Bella

Vitaly Bragilevsky

image description