wandres.dev
ONTOLOGÍA · El mapa de Rust

La ontología de Rust

El mapa mental de Rust antes de recorrerlo: sus pilares (ownership, traits, seguridad sin GC), cómo se relacionan, y el camino de la sintaxis al nivel PhD.

⏱ 12 min

Rust promete algo que parecía imposible: la velocidad y el control de C con la seguridad de un lenguaje de alto nivel, y todo garantizado en compilación, sin recolector de basura. El precio es una curva de aprendizaje real. Este mapa te da la visión aérea antes de empezar el ascenso.

🎯 Al terminar esta lección sabrás
  • Ver el mapa mental completo de Rust.
  • Entender sus pilares y cómo se sostienen entre sí.
  • Situar los niveles en el territorio.
  • Empezar con la mentalidad correcta.

El territorio, de un vistazo

mindmap
root((Rust))
  Ownership
    Move
    Borrowing
    Lifetimes
  Tipos
    Structs y enums
    Traits
    Genericos
  Seguridad
    Sin null
    Sin data races
    Sin use after free
  Concurrencia
    Threads
    async await
    Send y Sync
  Bajo nivel
    unsafe
    FFI
    no_std
  Herramientas
    cargo
    macros
    testing

Los pilares

🔑

Ownership

Cada valor tiene un dueño; mover transfiere la propiedad; prestar (borrowing) da acceso temporal. De aquí sale la seguridad de memoria SIN recolector de basura.

🧩

Traits y tipos

La abstracción de Rust: traits (capacidades), genéricos y enums potentes. Composición sobre herencia, con coste cero.

🛡️

Seguridad garantizada

El compilador demuestra, en tiempo de compilación, que no hay null, ni use-after-free, ni data races. Los bugs no llegan a ejecutarse.

Concurrencia sin miedo

Los traits Send y Sync hacen que las condiciones de carrera sean errores de compilación. “Fearless concurrency”.

Cómo encaja todo

El borrow checker no es tu enemigo: es tu modelo

La experiencia universal al aprender Rust: pelearte con el borrow checker. Pero ese “pelear” es en realidad Rust enseñándote a pensar con precisión sobre quién posee qué dato, quién lo puede leer y quién modificar, y durante cuánto tiempo. Esas preguntas SIEMPRE existieron en C —solo que allí, contestarlas mal daba un crash en producción a las 3 de la madrugada—. Rust te obliga a contestarlas bien, en compilación. Cuando el borrow checker te bloquea, casi nunca es pedante: está revelando un problema real de diseño de tu gestión de datos que en otro lenguaje habrías enviado a producción. Interioriza esto y Rust deja de ser una lucha y se vuelve un copiloto que piensa contigo. Ese cambio de mentalidad —de “el compilador me estorba” a “el compilador me está salvando”— es el verdadero primer nivel.

El camino

  • Niveles 1–7 · Fundamentos — por qué Rust, setup, tipos, control de flujo, structs, enums, Option/Result.
  • Niveles 8–12 · Ownership — el corazón: move, borrowing, lifetimes, slices, domar el borrow checker.
  • Niveles 13–18 · Traits y genéricos — la abstracción de Rust.
  • Niveles 19–28 · Colecciones, errores y punteros — iteradores, closures, manejo de errores, smart pointers, Pin.
  • Niveles 29–36 · Concurrencia y async — threads, Send/Sync, async/await, Tokio.
  • Niveles 37–43 · Unsafe, FFI y sistemas — unsafe, C interop, no_std, embebido.
  • Niveles 44–51 · Metaprogramación y maestría — macros, tipos a nivel de tipo, rendimiento, y el nivel PhD.
⚔️ Sitúate en el mapa
  1. Estudia el mapa mental y localiza qué te suena y qué no.
  2. Si vienes de C/C++: piensa en un bug de memoria que hayas sufrido. Rust lo haría imposible.
  3. Si vienes de un lenguaje con GC: piensa en el ownership como “saber exactamente cuándo muere cada dato”.
  4. Comprométete con la mentalidad: cuando el compilador te bloquee, pregúntate qué te está enseñando.