Introdução: por que Rust é a linguagem do futuro em 2025
Rust já é reconhecido há vários anos como a linguagem de programação mais amada, de acordo com as pesquisas de desenvolvedores do Stack Overflow. Em 2025, ele continua ganhando popularidade, especialmente em programação de sistemas, desenvolvimento web, blockchain e sistemas embarcados. Mas por onde um iniciante deve começar? Neste artigo, vamos explicar como instalar o Rust, escrever seu primeiro programa e entender os conceitos-chave da linguagem.
Rust combina a performance de C/C++ com a segurança de memória, que é verificada em tempo de compilação. Isso significa que você evitará muitos erros de execução comuns em outras linguagens. Se você vem do Python, terá uma curva de aprendizado íngreme, mas o resultado vale a pena.
1. Instalação do Rust e configuração do ambiente em 2025
O primeiro passo é instalar o compilador Rust e o gerenciador de pacotes Cargo. Em 2025, o processo ficou ainda mais simples.
Instalação via rustup
A maneira oficial e recomendada é usar o rustup. Abra o terminal e execute o comando:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Após a instalação, reinicie o terminal ou execute:
source $HOME/.cargo/env
Verifique a instalação:
rustc --version
cargo --version
Você deve ver algo como:
rustc 1.78.0 (2024-12-15)
cargo 1.78.0 (2024-12-15)
Ambiente de desenvolvimento
Para um trabalho confortável, recomendo usar:
- VS Code com a extensão
rust-analyzer— autocompletar, realce de erros, refatoração. - IntelliJ IDEA com o plugin Rust — suporte completo para projetos grandes.
- Helix ou Neovim — para os amantes do terminal.
2. Sintaxe do Rust: primeiros passos e exemplos de código
Rust é uma linguagem com tipagem estática forte, mas com poderosa inferência de tipos. Vamos analisar as construções básicas.
Criando um novo projeto
Use o Cargo para criar um projeto:
cargo new hello_rust
cd hello_rust
Abra o arquivo src/main.rs. Você verá:
fn main() {
println!("Hello, world!");
}
Execute o programa:
cargo run
Variáveis e imutabilidade
Por padrão, todas as variáveis em Rust são imutáveis (immutable). Este é um conceito-chave de segurança.
let x = 5; // imutável
// x = 6; // Erro!
let mut y = 10; // mutável
y = 15; // OK
Tipos de dados
Rust suporta tanto tipos escalares quanto compostos.
// Tipos escalares
let integer: i32 = 42;
let float: f64 = 3.14;
let boolean: bool = true;
let character: char = 'R';
// Tipos compostos
let tuple: (i32, f64, char) = (500, 6.4, 'R');
let array: [i32; 3] = [1, 2, 3];
Funções
Funções são declaradas com fn. O valor de retorno é indicado após ->.
fn add(a: i32, b: i32) -> i32 {
a + b // última expressão — valor de retorno
}
fn main() {
let result = add(5, 7);
println!("5 + 7 = {}", result);
}
Estruturas de controle
let number = 6;
if number % 2 == 0 {
println!("Par");
} else {
println!("Ímpar");
}
// Loops
for i in 0..5 {
println!("i = {}", i);
}
let mut counter = 0;
while counter < 3 {
println!("counter = {}", counter);
counter += 1;
}
3. Conceitos-chave: ownership, borrowing e lifetimes
O mais difícil para iniciantes é o sistema de ownership (propriedade). Ele garante segurança de memória sem um garbage collector.
Ownership (Propriedade)
Cada ```