Algoritmos y Estructuras de Datos Herramientas Lenguaje de programación
!Prog C/C++ Rust
Linux Matemáticas
Mates Discretas
Programación Orientada a Objetos Sistemas Operativos

Rust

Volver a Lenguaje de programación

Mis apuntes sobre Rust.

Rust es un lenguaje de programación de sistemas (system programming language), lo que da mucho control sobre los recursos del sistema: memoria, etc. Es decir, todo lo que puedas hacer de bajo nivel en C/C++, se podrá hacer en Rust: bases de datos, compiladores, redes de bajo nivel…

Algunos links interesantes

Tutoriales

Usos para Rust

CLI (Command Line Interface)

Son aquellas programas que se ejecutan en una consola, sin interfaces gráficas.

Estas, al ser más sencillas que otras, son mejores para comenzar. Es recomendable buscar algo que te sea útil e intentar implementarlo.

Web assembly

Gracias a Web Assembly, podemos usar lenguajes como Rust, C/C++ y otros para obtener rendimiento extra, casi a nivel nativo, a la vez que JavaScript.

Lógicamente, debemos usar Web Assembly en operaciones o aplicaciones que requieran ese rendimiento, como procesamiento de imágenes, audio, juegos, operaciones matemáticas complejas, físicas, etc; pero no sencillas operaciones que simplemente se solucionarían con JavaScript.

Aplicaciones de servidor

Rust también permite crear servidores eficientes, robustos y escalables. Con frameworks ya listos para producción como Rocket o Actix; drivers nativos a Bases de Datos como:

El ecosistema es bastante maduro, por lo que encontrarás todas las funcionalidades básicas necesarias, pero no hay ningún framework que destaque.

Embedded systems

Programar aplicaciones eficientes para relojes inteligentes, chips, Raspberry Pi, etc; aquellos dispositivos centrados en determinadas tareas, normalmente forman parte de un sistema más grande.

Otras aplicaciones

Estas otras opciones, Rust todavía no puede competir con otras opciones más establecidas.

Aplicaciones que no se deberían hacer con Rust

Básicamente cualquier cosa que no necesite de un rendimiento extremo, porque hay opciones mucho más sencillas que utilizar un lenguaje de programación de tan bajo nivel. Hazte un favor a ti mismo y usa algo más fácil.

Contenido

Documentación, Cargo y Crates - Rust

Memoria - Rust

Un resumen del sistema de ownership y borrowing, tipos de memoria (Stack y Heap), lifetimes, Smart Pointers y otros detalles importantes para entender cómo funciona Rust gestiona la memoria a diferencia de C o C++.

Errores en Rust - Rust

Generics, traits y closures - Rust

Listas y Iteradores - Rust

Macros - Rust

Módulos - Rust

Strings - Rust

Testing - Rust

WASM - Rust

30-07-2021

Breve guía por pasos de cómo compilar Rust para Web Assembly (WASM)