O creador de C++ criticou a imposición de linguaxes de programación seguras

Bjarne Stroustrup, o creador da linguaxe C++, publicou obxeccións ás conclusións do informe da NSA, que recomendaba que as organizacións se afastasen das linguaxes de programación como C e C++, que deixan a xestión da memoria ao desenvolvedor, a favor das linguaxes. como C#, Go, Java, Ruby, Rust e Swift, que proporcionan xestión automática da memoria ou realizan comprobacións de seguridade da memoria en tempo de compilación.

Segundo Stroustrup, as linguaxes seguras mencionadas no informe da NSA non son de feito superiores a C++ nas aplicacións que son importantes desde o seu punto de vista. En particular, as recomendacións básicas de uso de C++ (C++ Core Guidelines), desenvolvidas nos últimos anos, abarcan métodos de programación seguros e prescriben o uso de ferramentas que garantan un traballo seguro con tipos e recursos. Isto deixa a opción para os desenvolvedores que non requiren garantías de seguridade tan estritas para seguir usando métodos de desenvolvemento antigos.

Stroustrup cre que un bo analizador estático que siga as directrices básicas de C++ pode proporcionar as garantías necesarias para a seguridade do código C++ a un custo significativamente menor que a migración a novas linguaxes de programación seguras. Por exemplo, a maioría das directrices básicas xa están implementadas no analizador estático e no perfil de seguridade da memoria incluído en Microsoft Visual Studio. Tamén se teñen en conta algunhas recomendacións no analizador estático ordenado de Clang.

O informe da NSA tamén foi criticado por centrarse só nos problemas de memoria, deixando fóra moitos outros problemas de linguaxe de programación que afectan á seguridade e á fiabilidade. Stroustrup ve a seguridade como un concepto máis amplo, cuxas diferentes facetas se poden conseguir mediante unha combinación de estilo de codificación, bibliotecas e analizadores estáticos. Para controlar a inclusión de regras que garantan a seguridade de traballar con tipos e recursos, proponse o uso de anotacións no código e nas opcións do compilador.

En aplicacións nas que o rendemento é máis importante que a seguridade, este enfoque permite a aplicación selectiva de funcións que garanten a seguridade só onde se precisa. As ferramentas de seguridade tamén se poden aplicar de forma fragmentaria, como comezando coas regras de comprobación e inicialización do intervalo, e despois adaptando o código aos requisitos máis estritos.

Fonte: opennet.ru

Engadir un comentario