~/thalysonwilker

Minha jornada aprendendo Rust

Os desafios e aprendizados de migrar de Python para Rust em projetos pessoais.

experiência6 min2024-10-28
#rust#programação#aprendizado

Minha jornada aprendendo Rust

Depois de anos programando em Python, decidi aprender Rust. Aqui está minha experiência.

Por que Rust?

  • **Performance**: Tão rápido quanto C/C++
  • **Segurança**: O borrow checker previne bugs de memória
  • **Modernidade**: Tooling excelente (cargo, rustfmt, clippy)

Os desafios

O Borrow Checker

O maior desafio foi entender ownership e borrowing:

fn main() {
    let s1 = String::from("hello");
    let s2 = s1; // s1 foi movido!
    // println!("{}", s1); // ERRO!
    println!("{}", s2); // OK
}

Lifetimes

Lifetimes foram confusos no início, mas fazem sentido depois:

fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() > y.len() { x } else { y }
}

O que construí

  1. **CLI para gerenciar dotfiles** - Meu primeiro projeto real
  2. **API REST com Actix** - Performance incrível
  3. **Contribuições open source** - Pequenos PRs para praticar

Recursos que recomendo

  • The Rust Book (oficial e gratuito)
  • Rustlings (exercícios práticos)
  • Rust by Example

Conclusão

Rust tem uma curva de aprendizado íngreme, mas as garantias de segurança e performance valem o esforço.