Introducción a Rust

adriandelgado

Diapositivas

adrianjdelgado.com/2024/rust-bridge
█▀▀▀▀▀█ ▀▀▀█▄▄▀ ▀▄▀▄▀ █▀▀▀▀▀█
█ ███ █  ▀▄█ █▀▀ ▄▀▄█ █ ███ █
█ ▀▀▀ █  ▄▀█▀▄▀ ▀▀█▀  █ ▀▀▀ █
▀▀▀▀▀▀▀ █▄▀ █▄█▄▀ ▀▄▀ ▀▀▀▀▀▀▀
▀▀▄▀█ ▀ ▄▀▄ ▀ ▀█ █▄█  ▀▄▄ ▄▄▀
   █▀▀▀▀█▀  ▀▀▀▀▀▄   █▄▄▀▄▀ ▄
▄█▄█▄▀▀█▄██ ▄ ▄█▄▄▄▀▀ ██▄▄▄▄█
█▀█▀█ ▀ ▄ ▀ ▄▀ ██  █▀   ▄ █ █
▄ ▀  ▀▀▄▀▄▀█▀▀ █▀ █▄█   ▄▀▄▄
██▄ ▀ ▀▄▄ ▀▄▀█▄█▄  █▀▀▄███▄ ▀
▀▀ ▀▀ ▀▀█ ▀▀▄ █▄█▀▀ █▀▀▀██▀▀
█▀▀▀▀▀█    █▄▀▄▀ ▄███ ▀ █▀ ▄
█ ███ █ █ ▀▀▀▄▄█  ▀▀██▀▀▀▀ ▀▄
█ ▀▀▀ █ ▄█▄█▀▀▀██ █  █▄██▄█▀█
▀▀▀▀▀▀▀ ▀ ▀ ▀ ▀▀▀ ▀▀▀▀ ▀▀

Rust LogoRust

  • Stack Overflow "most loved language" 2016 - 2023 (8 años consecutivos)
  • Alto Rendimiento
  • Fiable
  • Seguridad de hilos
  • Productivo

¿Quiénes están usando Rust?

Amazon (AWS)

  • Firecracker (Lambda)
  • Tokio (async runtime)
  • Internamente (S3, EC2, Cloudfront, Route 53)

Google

  • Android
  • Fuchsia
  • Chromium

Rust for Linux

… on the whole I don't hate it.
—Linus Torvalds

¡Muchos más!

  • Mozilla (Firefox)
  • Cloudflare (Quiche, BoringTun, Pingora)
  • Tor Project (Arti)
  • Herramientas CLI:
    • Ruff (Python Linter 10-100x más rápido que alt.)
    • Ripgrep (3-10x más rápido que grep)
    • Typst (Alternativa a LaTeX)
  • Vercel, Meta, Dropbox, Microsoft, Samsung, Figma, 1Password, GitHub, npm, Canonical, ByteDance …

Futuro de Rust

Crecimiento Exponencial

Languish Rust Stats
Fuente: tjpalmer.github.io/languish

Alcanzando a los establecidos

Languish Rust vs Go vs C Stats
Fuente: tjpalmer.github.io/languish

Instalación

rustup.rs
█▀▀▀▀▀█ ▄▄▀▀  █▀▀▀▀▀█
█ ███ █ ▀▀█▀▄ █ ███ █
█ ▀▀▀ █ █ ▄   █ ▀▀▀ █
▀▀▀▀▀▀▀ █▄█▄▀ ▀▀▀▀▀▀▀
██▄█ ▄▀█▄ ▀▀█ ███ ▀▀▄
 ▀  ▄█▀█▄▀▀█▀ ▄ ▄▄▀▄█
▀▀ ▀▀▀▀▀▄ ▀▀█▀ █ ▀  ▄
█▀▀▀▀▀█ ▀█ ▄▀ ▀▄█▀▀▀
█ ███ █ ▄▄▀██ ▄ █▀ ▀█
█ ▀▀▀ █ ▄▄ ▀██▀ ▀ ▀ ▀
▀▀▀▀▀▀▀ ▀▀ ▀▀▀▀ ▀  ▀

Lo Básico de Rust

fasterthanli.me/articles/a-half-hour-to-learn-rust
█▀▀▀▀▀█ ▄█ ▄▄  ▀▀▄▄▀█▄ ▀▄ █▀▀▀▀▀█
█ ███ █ ▄█▀█  ▀ ▀▄█ █▀█   █ ███ █
█ ▀▀▀ █ ▄ █ ▀███ ▀▀▀█▀ ▀▄ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀ ▀ █▄▀▄█ ▀▄█▄█▄█ ▀▀▀▀▀▀▀
▀▀▀██ ▀▀██▀ ▀ ▀▀█▀ █▄ ▀▄ ▀▄▀ ▀▄█▄
 ▄ ▀▄█▀▀▄█▄█▀ ▄▀▀ ▄  █▀ ▄ ▀▀ ▀▄▀
█▀▄ ▄█▀▄▄█▄▀▄▄▄▀██▄█▄▄▀▄▀▀▄ ▀▀ ▄▄
 ▄ ▄ ▄▀▄ ▄▀ ▄█▀██▀  ███▄ ▄ █▀ ▄▀
▀▄▀▄▄█▀   ▀ ▀ ▀▀████ ▄███▀▄ ▀▄ █▄
▄█▀ ▀ ▀█▀▀██▀ ▄▀   ▄▄▄▄  ▀█  ▀▄▀
▄ ▀▄█▄▀   ▄▀▄▄▄▀██▄▄▄  ▄▀▀▄▀▀▄ █▄
█ ▄ ▄▄▀   █ ▄█▀██ ▄ ▄▄█  ▀▀▀ █▄▀
▀ ▀ ▀▀▀▀█ █ ▀ ▀  ▀▄█▄▄▀▀█▀▀▀█▄▄ █
█▀▀▀▀▀█ ▀▀ █▀ ▄▀▄   ▀█▄██ ▀ █▄▄▀▄
█ ███ █ █▄▀▀▄▄▄ ▄▀▄▄▄   ▀█▀▀█ ▄▄█
█ ▀▀▀ █ ██▄ ▄█▀▀  ▀  ██▀  █ ▄██
▀▀▀▀▀▀▀ ▀▀▀ ▀ ▀▀▀▀ ▀  ▀ ▀▀ ▀ ▀ ▀

Rustlings

rustlings.cool
█▀▀▀▀▀█  ▄▀  ▀███ █▀▀▀▀▀█
█ ███ █ ▀▄ ▀▄ ███ █ ███ █
█ ▀▀▀ █  ▀▄▄█ ▀█▄ █ ▀▀▀ █
▀▀▀▀▀▀▀ █ ▀▄▀▄█ █ ▀▀▀▀▀▀▀
██▀▄█▀▀▀█▄ ▄█▀  █▀█   ▀ ▄
█▄▀▄█▄▀▄▄▄█▀██▄ █▀▀▄  ▀█▀
▀█▄▀ ▄▀█▄ ██ ▀ ▀█▀█▀ █ ▀█
▀▄▄▀▄▀▀█▀ ▀▄ █▄▄  █▀▄ ▀█▀
▀ ▀▀▀ ▀ ██▀▄█▀ ██▀▀▀██ ▄▄
█▀▀▀▀▀█ █▄█▀█▄ ▀█ ▀ ██ ██
█ ███ █ ▀  █  ▀▄▀▀▀███▄▀▀
█ ▀▀▀ █ █▀ ▄ ▀ █▄▀  █▄ ▄▀
▀▀▀▀▀▀▀ ▀ ▀ ▀  ▀▀ ▀▀   ▀▀

Links relevantes