A maioria desses problemas só ocorrem quando a pessoa usa o estilo C de programar que é possível em C++. Quando usa o jeito C++ de programar esses erros deixam de existir ou são minimizados. Tem ferramentas que ajudam não deixar isso acontecer e também ajudam ondicar onde mais tem ou pode ter erro.

Então, apesar de ser um pouco verdade que C++ tem uma tendência maior de permitir que o programador cause um erro no código, a insegurança é do programador, reforçada pelo fato que ele tem como não causar as maioria dos erros, mesmo os cometidos por distração, ou seja, ele não está usando a linguagem da maneira como deveria. Pode-se alegar que dá mais trabalho que outras linguagens, mas isso pode ser até relativo, tem quem diga que brigar com os macadores de tempo de vida de Rust dá muito trabalho.

O que a Google está fazendo agora é usar C++ certo.

De qualquer forma há discussões agora em regime de urgência para que a linguagem tenha mais garantias de segurnaça com padrão. Que bom ter concorrência. Vamos aguardar, mas eles sentiram a água batendo no pescoço.

E é importante diser que muitas vezes as pessoas adotam C++ onde ela não é necessária, isso já é um erro. Por outro lado muitas pessoas vão adotar outra solução, como Rust por exemplo, que não dá extamente o mesmo resultado de eficiência que C++ dá, mas isso, claro, depende de cada caso. Quando a pessoa pode usar Rust, talevz poderia usar outra coisa. O que eu não entendo é a pessoa acha que Rust é uma ótima substituta para Java, C#, Go e outras linguagens do tipo.

Zig é uma linguagem que as pessoas estão adorando agora e apesar de ser muito melhor que C (nenm tanto que C++ que não é a mesma intenção), tem problemas que levam a códigos inseguros e as pessoas não estão reclamando.

Além disso Carbon tem uma filososia bem interessante tentando realmente substituir o C++, por mantém certa compatibilidade com C++ e tem como objetivo secundário ter melhores opções para obter segurança, mas não é a prioridade agora. Isso é futurologia, mas se eles conseguirem fazer o que esão prometendo, e não tem gente ruim trabalhando nela, realmente será uma linguagem fenomenal, e só a proposta do Cpp2 faria o C++ sobreviver, ainda que dê para dizer que é outra linguagem, assim como C++ é outra linguagem em relação à C.

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).