Treinamento Rust da Ferrous Systems
Treinamento Rust da Ferrous Systems
Resumo:
Introdução
O livro «Treinamento Rust da Ferrous Systems» (título original Ferrous Systems Rust Training) é um guia prático para a linguagem de programação Rust, desenvolvido pela equipe Ferrous Systems — uma renomada empresa de consultoria especializada na implementação de Rust em projetos industriais. Publicado em 2021, o livro com cerca de 250 páginas apresenta um curso estruturado que permite aprender Rust do zero até um nível de confiança. Diferente de muitos livros acadêmicos, este material é voltado para a prática: cada conceito é acompanhado de exemplos de código, exercícios e explicações baseadas na experiência real dos autores.
Sobre o que é o livro
O livro aborda todos os aspectos principais do Rust, começando pelos fundamentos da sintaxe e indo até tópicos avançados, como gerenciamento seguro de memória, ownership, borrowing, lifetimes, programação genérica (generics), traits, tratamento de erros, concorrência e programação assíncrona. Atenção especial é dada ao sistema único de ownership e borrowing, que garante segurança de memória sem um garbage collector. Os autores explicam passo a passo como o compilador Rust ajuda a evitar classes inteiras de erros e como escrever código eficiente e confiável.
Seções principais do livro
- Introdução ao Rust: instalação, sintaxe básica, variáveis, tipos de dados, funções.
- Ownership e borrowing: regras de ownership, referências, borrowings mutáveis e imutáveis, tipos slice.
- Lifetimes: anotações de lifetimes, elisão, estruturas com lifetimes.
- Traits e genéricos: definição e implementação de traits, funções e estruturas genéricas, despacho.
- Tratamento de erros: panic, Result, Option, combinadores, tipos de erro personalizados.
- Coleções e iteradores: Vec, HashMap, String, iteradores, adaptadores, computação lazy.
- Concorrência: threads, mutexes, canais, Send e Sync, operações atômicas.
- Programação assíncrona: async/await, futures, tokio, streams assíncronos.
- Gerenciamento de projetos: Cargo, módulos, testes, documentação.
Para quem é este livro
O livro é voltado para desenvolvedores iniciantes e intermediários que já possuem experiência básica de programação em qualquer linguagem imperativa (C, C++, Java, Python, JavaScript) e desejam aprender Rust. Também será útil para aqueles que já experimentaram Rust, mas querem sistematizar o conhecimento e preencher lacunas, especialmente em tópicos complexos como lifetimes e concorrência. Graças ao seu foco prático, o livro é adequado para autoaprendizagem e pode ser usado como material didático em cursos.
O que o leitor aprenderá
- Compreenderá a filosofia do Rust: segurança, velocidade, paralelismo sem condições de corrida.
- Aprenderá a gerenciar memória sem garbage collector, usando o sistema de ownership e borrowing.
- Dominará o trabalho com lifetimes e aprenderá a escrever anotações corretas.
- Poderá usar traits e genéricos para criar componentes flexíveis e reutilizáveis.
- Aprenderá a tratar erros de forma idiomática.
- Dominará a programação concorrente e assíncrona em Rust.
- Adquirirá habilidades para trabalhar com Cargo, sistema de módulos e testes.
- Conseguirá ler e entender as mensagens do compilador Rust, corrigindo erros de forma eficaz.
- Ganhará confiança para escrever projetos reais em Rust.
Pontos fortes do livro
Uma das principais vantagens do livro é seu foco prático. Cada capítulo contém vários exemplos de código que podem ser executados imediatamente para experimentação. Os autores não apenas explicam a teoria, mas mostram como cada construção funciona na pr