Rust vai substituir C++ ou é hype de programador cansado de memory leaks?
Rust está em evidência há anos. Microsoft está reescrevendo partes do Windows em Rust. Linux kernel aceitou Rust. Android também. Mas C++ tem 40 anos de base instalada.
O que Rust faz genuinamente melhor
Memory safety sem garbage collector. O borrow checker previne em tempo de compilação classes inteiras de bugs (use-after-free, null pointer dereference, data races) que são as vulnerabilidades mais comuns em C++.
Concorrência segura. "Fearless concurrency" não é papo de venda: o sistema de tipos torna impossível compilar código com data races.
Ergonomia moderna. Cargo, o gerenciador de pacotes, é o melhor da sua classe entre linguagens de sistemas.
O que C++ ainda tem a favor
40 anos de código, bibliotecas e pessoas que sabem. Migrar um projeto de C++ para Rust não é só reescrever: é treinar equipes e revalidar comportamento.
Flexibilidade de undefined behavior. Parece contra-intuitivo, mas há casos em que C++ permite otimizações que o Rust não permite por segurança.
Ecossistema de tooling maduro (CLion, Visual Studio, Valgrind, etc.).
O que vai acontecer
Rust não vai "substituir" C++ como Go não substituiu Java. O que vai acontecer é que novos projetos de sistemas vão escolher Rust com mais frequência, e C++ vai sobreviver na base instalada por décadas.
A questão não é substituição: é quando o Rust vira o default para novos projetos de sistemas.
Alguém aqui usa Rust em produção? O borrow checker vale o custo de aprendizado?