Rust 101, tutorial de Rust en español

Rust es un lenguaje imperativo, orientado a objetos y funcional, con gran soporte a concurrencia y de propósito general. En este tutorial de Rust daremos nuestros primeros pasos en Rust, un lenguaje que nace de las necesidades de tener un lenguaje que fuese rápido, concurrente y seguro. Aprenderemos a amar/odiar al estricto compilador y veremos algunas de las grandes ideas detrás de Rust. Sin embargo, esto requiere mayor atención de nuestra parte ya que Rust no es otro lenguaje basado en C. Algunas de sus características son:

  • Abstracciones sin costo
  • Seguridad de memoria garantizada
  • Eliminación de las condiciones de carrera
  • Generalización basada en traits
  • Comparación de patrones
  • Inferencia de tipos

Rust toma influencias de muchos lenguajes, para dar lugar a un estilo único de programación que costará más de lo habitual aprender a usar de forma efectiva. Rust toma influencia de C++, OCaml, Haskell y en menor medida de Erlang, Alef, Limbo, Swift y otros lenguajes menos conocidos.

Si aprecias el trabajo detrás de este tutorial, no dudes en apoyarme a través de una donación vía PayPal o alguna criptodivisa (ver margen derecho). También se aceptan mejoras al texto, tan solo ponte en contacto conmigo.

Índice del tutorial de Rust

  1. Instalando Rust
  2. Variables y tipos de datos en Rust
  3. Referencias y préstamos en Rust
  4. Funciones y closures en Rust
  5. Estructuras de control en Rust
  6. Structs, traits y POO en Rust
  7. Gestión de errores en Rust, Option y Result
  8. Concurrencia en Rust
  9. Box, Rc y RefCell, punteros inteligentes en Rust
  10. Cargo y módulos en Rust
  11. Tests en Rust
  12. Documentación con rustdoc
  13. Leer de teclado en Rust
  14. Crear ventanas y botones en Rust con GTK

Otros artículos sobre Rust en el blog

Instalando Rust

Rust funciona en una gran variedad de sistemas operativos y emite código compatible con muchos otros. El compilador oficial de Rust usa LLVM de forma interna, por la que las mejoras que se realicen sobre LLVM mejoran de forma indirecta el compilador de Rust. Otros lenguajes que usan LLVM son: C++ (con el compilador Clang), Julia, Swift, FORTRAN (con el compilador Flang), D (con el compilador LDC), Haskell (a través de GHC) y muchos más con otros compiladores. Mencionar que también existe un compilador de Rust bajo la suite GCC pero es experimental y no se recomienda su uso.

Para instalar el compilador oficial de Rust visitamos la página oficial de Rust.

Hacemos click en Instalar. Descargamos el archivo y seguimos los pasos en pantalla.

Lo que acabamos de hacer es usar rustup. Se trata de un programa que nos ayudará mucho y que nos permite instalar varias versiones de Rust en una misma máquina así como actualizar las mismas. Es una herramienta parecida a rvm de Ruby o nvm de Node.js. rustup nos instala rustc, cargo y rustdoc.

Comprobemos que Rust se ha instalado correctamente, hagamos un Hola Mundo. Crea un archivo llamado hola.rs (rs es la extensión de los archivos de código fuente de Rust). Debe contener lo siguiente:

Podemos compilar con rustc.

Como en GCC, la opción -o sirve para especificar el nombre del ejecutable de salida.

println! es una macro que nos permite escribir en pantalla. Permite realizar interpolaciones, usando llaves. Por ejemplo:

println!(“Mi nombres es {}”,”Adrián”);

Equivale a:

println!(“Mi nombre es Adrián”);

Usando rustup

He aquí algunos comandos útiles para manejar rustup de forma efectiva.

Mostrar que versión está actualmente activa

Actualizar los entornos de Rust

Instalar la versión nightly de Rust

Ejecutar esta un comando con un entorno determinado

Cambiar el entorno por defecto

Añadir una plataforma al entorno (para cross-compiling)

Con esto acabamos esta parte sobre como configurar el entorno. A continuación entraremos en profundidad ya en el lenguaje en sí.