Instalar Rust en Debian 11 Bullseye
En este artículo vamos a ver que es el lenguaje de programación Rust y como instalarlo en Debian 11. Se trata de un lenguaje de programación compilado, de propósito general y multiparadigma que está siendo desarrollado por Fundación Rust. El pasado 9 de febrero se publicó la ultima versión estable Rust 1.67.1.
Sumario
- Que es Rust
- Requisitos previos
- Instalación de Rust
- Leer la documentación principal
- Ejemplos
Que es Rust
Rust es un lenguaje de programación de código abierto, desarrollado y patrocinado por Mozilla y Samsung, que busca la opinión y contribución de la comunidad. Está desarrollado bajo licencia Apache 2.0 o MIT. Es uno de los más utilizados para trabajar con criptomonedas y crear nodos para minar criptoactivos. Desde el año 2.020 es el tercer lenguaje de programación más usado para el kernel de Linux, después de C y Assembler.

Está centrado en la velocidad, la seguridad y el paralelismo. Por ello es ampliamente utilizado por los desarrolladores, para crear todo tipo de software como motores de juegos, sistemas operativos, sistemas de ficheros, componentes para un navegador y motores de simulación para realidad virtual.
Entre el software que lo utiliza encontramos Firefox, el comando exa, OpenDNS, el navegador Tor, Dropbox, Stratis, un sistema de ficheros para Fedora y RHEL, y los S.O. Linux como BlogOS, intermezzOS, QuiltOS, Redox, RustOS, Rux, Tefflin y Tock y otros como macOS, Windows, FreeBSD, OpenBSD, Redox, Android e iOS.
Los usuarios de Rust se refieren a sí mismos como rustáceos y usan a Ferris como su mascota.

Sintácticamente es muy similar a C ++, pero frente a este garantiza un acceso seguro a la memoria mediante el uso de un verificador que valida sus referencias. Utiliza bloques de código delimitados por llaves y estructuras de control de flujo tales como if, else, do, while, for y otras como la palabra clave match para ramificación multidireccional.
Tienes toda la información que necesites en español en su página oficial.
Requisitos previos
Para instalar Rust en Debian 11 Bullseye y todos sus derivados, necesitaremos instalar las dependencias requeridas. Como siempre que hacemos una instalación, antes de comenzar, actualizamos nuestro sistema.
sudo apt update && sudo apt upgrade

Y seguidamente las dependencias requeridas por Rust.
sudo apt install curl build-essential gcc make -y

Instalación de Rust
Con todos los paquetes requeridos instalados, ejecutamos la herramienta «curl» para descargar el script de instalación de la última versión estable de Rust.
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh

Como vemos en la siguiente captura, debes pulsar «1» para realizar una instalación estándar.

La instalación tardará según el hardware del que dispongas, pero es rápida. Al final de la instalación te indica que se ha instalado correctamente y la versión instalada.

También nos indica que tenemos que habilitar su entorno en la shell actual.
$ Para comenzar, es posible que deba reiniciar su shell actual. $ Esto recargaría su variable de entorno PATH para incluir el directorio de contenedores de carga ($HOME/.cargo/bin). $ Para configurar su shell actual, ejecute: $ source "$HOME/.cargo/env"

No obstante, en cualquier momento puedes verificar la versión con
rustc --version
La última versión estable es la 1.67.1, la que hemos instalado.
Si no obtienes salida del comando anterior puedes asegurarte de su instalación verificando el PATH.
echo $PATH

Y para actualizar el software periódicamente ejecuta el siguiente comando.
rustup update stable

La desinstalación es muy sencilla, si lo quieres eliminar de tu sistema ejecuta
rustup self uninstall
Leer la documentación principal
Encontrarás toda la documentación en español sobre Rust en su pagina oficial.

Y para aprender Rust tienes muchos manuales.

Además, toda esta documentación también está disponible localmente usando el comando «rustup doc», que abrirá estos recursos en tu navegador sin necesidad de una conexión de red.

Ejemplos
Aquí te muestro unos ejemplos para ver su sintaxis.
El clásico programa que muestra la frase «¡Hola mundo!». Creamos el directorio y nos desplazamos a él.
mkdir ~/projects cd ~/projects mkdir hello_world cd hello_world nano main.rs
Copia y pega el siguiente código en tu fichero llamado «main.rs»
fn main() { println!("¡Hola mundo!"); }
Guarda el fichero y desde el directorio «~/projects/hello_world», ejecuta los siguientes comandos para compilar y ejecutar el fichero
rustc main.rs ./main
Ejemplo de salida

Otro ejemplo, obtenido de la documentación del proyecto. Una demostración de como generar un número aleatorio.
use std::io; use rand::Rng; fn main() { println!("Guess the number!"); let secret_number = rand::thread_rng().gen_range(1..=100); println!("The secret number is: {secret_number}"); println!("Please input your guess."); let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("Failed to read line"); println!("You guessed: {guess}"); }
Una simple demostración de las capacidades de concurrencia ligera de Rust obtenida de la wikipedia.
/* Esta función crea diez "tareas" que se pueden ejecutar concurrentemente. Ejecútalo múltiples veces y observa la salida irregular que se obtiene al estar cada tarea llamando al stdout, ya que cada tarea puede producirse entre las sucesivas llamadas a `println` y dentro de la función `println` en sí. */ fn main() { // Esta cadena es inmutable, para que pueda ser accedida de forma segura // por múltiples tareas. let message = "¡Miradme, soy un proceso ligero!"; // Los bucles `for` funcionan con cualquier tipo que implemente el trait // `Iterator`. for num in range(0, 10) { do spawn { println(message); // `println!` es una macro que verifica estáticamente un string de // formato. Las macros son estructurales (como en Scheme) en lugar // de ser textuales (como en C). println!("Este mensaje ha sido ofrecido por la tarea {:i}.", num); } } }
Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.
Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.
Y para suscribirte y recibir las novedades publicadas, tienes un enlace en pie de la página o desde aquí mismo.