Quando comecei a aprender Rust, percebi que boa parte de sua singularidade só fica realmente clara quando colocada lado a lado com outras linguagens. Conceitos como ownership, borrowing ou zero-cost abstractions não são necessariamente difíceis de entender: eles apenas surgem de uma forma diferente de pensar, distinta daquela que a maioria de nós internaliza ao trabalhar com C, Java, Go ou TypeScript.
Em vez de seguir a abordagem tradicional de “aprender Rust do zero”, decidi estudá-la por meio da comparação. Para cada conceito que me chamou atenção, observei como outras linguagens tratam a mesma ideia, o que elas simplificam, o que escondem e o que deixam implícito. Depois de cada exercício comparativo, senti vontade de registrar o que havia aprendido como resultado.
Esse processo acabou evoluindo naturalmente para uma série de posts que decidi chamar de “Comparando linguagens”. Cada post explora um aspecto diferente da programação sob a perspectiva de Rust, não para julgar qual linguagem é melhor, mas para entender o que cada uma tem a nos ensinar sobre o próprio ofício de programar.
Este não é um tutorial nem um guia sobre Rust — é apenas um registro de como aprender Rust, refletindo sobre seus contrastes com as linguagens com as quais já trabalho, me tornou um programador melhor em todas elas.