Isso vai ajudar muita gente entender a questão, obrigado por postar.
Mas tem um subtexto aí é algo que muita gente está entendendo menos ainda.
Muitas pessoas estão aprendendo Rust, e isso é bom. Alguns estão indo para ela, o que pode ser bom em alguns casos.
Mas a questão é que a maioria dessas pessoas nunca pensaram em usar C ou C++. Então porque raios estão pensando em Rust?
Rust não concorre com Java ou C# ou Go, ou linguagens de script. E essas linguagens sempre foram memory safe.
Eu tenho visto cada vez mais códigos em Rust onde a pessoa claramente não sabe obter eficiência, coisa que ele já não sabia fazer em outras linguagens, e por isso o GC não atrapalhava, até porque alguns são tão bons que até podia ajudar esses casos. Até dá para fazer soft real time nessas linguagens, e em C/C++/Rust só dá para fazer hard real time com técnicas bem fora do que se costuma adotar, a pessoa precisa saber fazer isso, e tenho a impressão que Rust dificulta isso e te obriga usar código unsafe.
Para usar Rust, assim como C, C++, Zig e outras linguagens do tipo, você precisa de um requisito de controle de memória muito forte, ter o máximo de eficiência de processamento, acesso baixo nível e necessidade de hard real time. A maioria das aplicações não precisam disso.
Se a pessoa faz essa escolha simples de forma tão errada, ela certamente não tem habilidade de engenharia para usar Rust de forma correta. Para os demais Rust é uma boa pedida. Mas vamos ver o que acontece com C++ que resolveu evoluir para esse lado de forma bem rápida, eles sentiram a água batendo no pescoço, e terá Carbon que manterá a as características de C++ (Rust não faz isso) e em um futuro a intenção é dar mais segurança.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).