Introdução
Olá, mundo!
Antes de você embarcar, deixa eu te explicar por que o Ultimate Rust foi construído e o que ele significa
Quem Sou Eu
Meu nome é Richard Alves. Sou um daqueles desenvolvedores que quer deixar o código mais otimizado possível. Resolver algo da forma mais perfomática possível, mais segura possível. Prefiro demorar mais para construir algo já pensando na sua escabilidade futura do que construir rápido apenas para dizer que fez.
Sei que isso não é exatamente uma qualidade, mas foi o que me fez conhecer Rust.
A Descoberta
Lembro-me de pesquisar algo como "melhor linguagem para x coisa" e ouvir falar sobre Go e Rust. Escolhi experimentar Go primeiro. Depois de ter tido contato com linguagens mais "desleixadas" como PHP, C, Python e JavaScript, achei incrível! Me apaixonei logo de cara! Como assim uma linguagem que nem sequer compila se eu declarar uma variável mas não usá-la? Parecia a linguagem perfeita para alguém perfeccionista como eu.
Até que fui experimentar Rust também. O código me parecia bem mais difícil, mas em todo o canto dizia que era mais perfomático. Era o queijo atraindo alguém como eu. Era óbvio que era só questão de tempo até eu experimentar.
Me apaixonei logo de cara também, e num nível bem maior. A partir daquele momento, me tornei fanático por Rust. Existem pessoas que são apaixonadas por lugares, existem pessoas que são apaixondas por outras pessoas, mas eu... eu me apaixonei por Rust.
Rust: A Linguagem Perfeita?
Com o tempo, fui percebendo que Rust não era apenas uma linguagem mais rápida, mais segura ou mais rígida. Era uma forma completamente nova de pensar ao escrever um código. Um jeito de escrever código que não te deixa trapacear, não te permite fechar os olhos para erros detalhes que, cedo ou tarde, iriam explodir na sua cara em qualquer outra linguagem.
De repente, eu não estava mais só "escrevendo código que funciona". Eu estava escrevendo código que não poderia quebrar silenciosamente, que me dava garantias que eu nem sabia que precisava. Nada do tipo "está funcionando e nem sei como" ou pior, "NÃO está funcionando e nem sei como"
A sensação de compilar algo em Rust é como entregar um trabalho que passou por um exército de professores: não sai dali nada frouxo, nada improvisado, nada "depois eu arrumo".
E isso muda você.
Você passa a enxergar cada variável como algo vivo. Cada referência como uma promessa. Cada erro do borrower checker como um professor dizendo: "Ei, você pode fazer melhor. Você sabe que pode fazer melhor."
É estranho dizer isso, mas Rust me ensinou disciplina.
Me ensinou a tratar memória com respeito. Me ensinou que perfomance não é um detalhe, é uma responsabilidade. E, principalmente, me ensinou que escrever um programa é muito mais que juntar linhas de código. É construir algo que outra pessoa vai ler, entender, confiar e expandir.
E quanto mais eu aprendia, mais eu percebia uma verdade incômoda: se eu pudesse reescrever tudo o que eu fiz no passdo em Rust, eu reescreveria. Não por vaidade, mas porque Rust desperta um padrão de excelência, deixa melhor o produto que outras pessoas usarão.
Rust não é só uma linguagem. É um compromisso.
A Jornada Difícil
Mas minha paixão por Rust não tornou o aprendizado fácil. Muito pelo contrário.
Quando decidi mergulhar de cabeça em Rust, me deparei com muitos obstáculos frustrantes.
O primeiro foi que os materiais em português eram escassos, e os que existiam eram, na maioria, de baixíssima qualidade, superficiais demais ou simplesmente traduções automáticas mal feitas que mais confundiam do que ensinavam.
Então recorri ao conteúdo em inglês. E lá veio o segundo problema: praticamente todo material sobre Rust, até mesmo o próprio Rust Book oficial, assumia que eu já tinha experiência sólida com programação. Exigiam que eu soubesse conceitos intermediários ou avançados antes mesmo de começar a aprender Rust de fato. Recomendavam Rust como "segunda linguagem".
Embora eu já tivesse tido contato com programação, nunca tinha desenvolvido um projeto com complexidade suficiente para sentir que me encaixava nesses requisitos. Fiquei preso entre ser "iniciante demais" para os recursos existentes e "experiente demais" para desistir.
Precisei usar vários recursos simultaneamente: O próprio Rust Book (do qual recomendo a todos), cursos na Udemy, vídeos no YouTube e IAs para me explicarem e tornarem as explicações mais didáticas e adaptadas para alguém sem experiência completa. Foi um processo fragmentado, casativo e muitas vezes confuso.