Criador do C++ critica a imposição de linguagens de programação seguras

Bjarne Stroustrup, criador da linguagem C++, publicou objeções às conclusões feitas no relatório da NSA, no qual a organizações foram aconselhadas a se afastar do uso de linguagens de programação como C e C++, que transferem o gerenciamento de memória para o desenvolvedor, em favor de linguagens como C#, Go, Java, Ruby, Rust e Swift, que oferecem gerenciamento de memória automático ou realizam verificações de segurança em relação à memória durante a compilação.

De acordo com Stroustrup, as linguagens seguras mencionadas no relatório da NSA não superam o C++ em aplicações importantes do seu ponto de vista. Em particular, as diretrizes básicas para uso do C++ (C++ Core Guidelines) desenvolvidas nos últimos anos abordam métodos para programação segura e exigem o uso de ferramentas que garantam a segurança no trabalho com tipos e recursos. Ao mesmo tempo, os desenvolvedores que não precisam de tais garantias rigorosas de segurança ainda têm a opção de continuar usando métodos de desenvolvimento mais antigos.

Stroustrup acredita que um bom analisador estático que siga as recomendações do C++ Core Guidelines pode fornecer as garantias de segurança necessárias para o código C++, exigindo um custo significativamente menor do que a mudança para novas linguagens de programação seguras. Por exemplo, a maioria das recomendações do Core Guidelines já estão implementadas no analisador estático e no perfil de uso seguro de memória que fazem parte do Microsoft Visual Studio. Parte das recomendações também foi levada em conta no analisador estático Clang tidy.

O relatório da NSA também foi criticado por enfatizar apenas os problemas de gerenciamento de memória, ignorando muitos outros problemas nas linguagens de programação que afetam a segurança e a confiabilidade. Stroustrup vê segurança como um conceito mais abrangente, cujas várias facetas podem ser alcançadas por uma combinação de estilo de escrita de código, bibliotecas e analisadores estáticos. Para gerenciar a inclusão de regras que garantam a segurança no trabalho com tipos e recursos, é proposto o uso de anotações no código e opções de compiladores.

Em aplicativos onde o desempenho é mais importante que a segurança, essa abordagem permite a aplicação seletiva de medidas que garantem a segurança apenas onde necessário. Ferramentas de aumento de segurança também podem ser aplicadas parcialmente, por exemplo, limitando-se inicialmente a regras de verificação de intervalos e inicialização, e depois adaptando gradualmente o código para requisitos mais rigorosos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster