Rust Sem Pânico: O Rust Pode Substituir C na Programação de Sistemas de Baixo Nível?

2025-02-03

Este artigo explora a viabilidade de usar Rust para substituir C na programação de sistemas de baixo nível, focando especificamente em uma biblioteca Protocol Buffers chamada upb. O autor inicialmente duvidava da capacidade do Rust de igualar o C em desempenho e tamanho de código, mas descobriu uma técnica chamada "Rust Sem Pânico". Isso envolve evitar o uso de `panic!()`. O artigo aprofunda os princípios, vantagens e desafios do Rust Sem Pânico, incluindo tamanho de código, saídas irrecuperáveis e sobrecarga de tempo de execução. Ele demonstra como escrever código Rust Sem Pânico usando técnicas como a utilização da biblioteca libc, opções de otimização e `std::hint::assert_unchecked`, enfatizando a retenção de verificações de estouro no modo de depuração para verificações de consistência extras. Embora esta técnica exija trabalho meticuloso e possa necessitar de evitar a maior parte da biblioteca padrão, promete oferecer o desempenho e o tamanho de código de uma biblioteca C mantendo as garantias de segurança do Rust.

Desenvolvimento