Contents

Criador de C++ ataca a Casa Branca por rejeitar o uso da linguagem na indústria

,

Faz agora um mês que o Escritório do Diretor Nacional de Segurança Cibernética (ONCD) da Casa Branca emitiu um apelo para que a indústria de software dê o salto para linguagens"seguras de memória"(como C# , Go, Java, Python e Rust) e abandonar de uma vez por todas dois clássicos de desenvolvimento: C e C\+\+ (que são a base, sem ir mais longe, do Windows, macOS ou Linux); O documento culpou este último pelo aumento de vulnerabilidades que expõem a segurança de sistemas críticos.

No entanto, Bjarne Stroustrup, o criador de C\+\+ , não apenas discorda do ponto de vista da Casa Branca, mas também Ele também não queria ficar calado. , e recentemente respondeu a a reportagem em questão em entrevista em que saiu em defesa de sua criação:

“Estou surpreso que os redatores desses documentos governamentais pareçam ignorar tanto os pontos fortes do C\+\+ contemporâneo quanto os esforços que foram feitos para fornecer garantias de segurança.”

“Por outro lado, eles parecem ter percebido que uma linguagem de programação é apenas uma parte de uma cadeia de ferramentas, portanto, melhorar as ferramentas e os processos de desenvolvimento seria essencial.”

“Meu objetivo de longo prazo para C\+\+ é e tem sido que C\+\+ forneça segurança de tipo e recursos, quando e onde for necessário”(Bjarne Stroustrup) Neste site A Casa Branca perguntou ao indústria vai parar de programar em C/C\+\+ porque era inseguro: o Google acaba de responder

Stroustrup já havia respondido à Casa Branca antes mesmo de dizer qualquer coisa

/images/837f35475e21712bdbdfe6e93801e11e1a13c96b32d196a8d62110542fb6035c.jpg (Baseado no imortal meme pré-Internet do ‘Irmão Wolf’)

Na verdade, Stroustrup já tinha respondido a vários dos argumentos da ONCD vários meses antes de ser publicado (não é que seja Nostradamus, é que a Casa Branca se baseia no posicionamento de um relatório anterior da NSA). Ele fez isso durante a última’CppCon'(a grande conferência anual de desenvolvedores C\+\+) em outubro de 2023:

-Não se trata apenas de ‘segurança da memória’: “Muitas vezes, quando falam sobre segurança, referem-se apenas à segurança da memória; mas essa não é a única segurança que devemos levar em conta.” -Nós ou o caos: “Em que outro idioma você quer apostar? De acordo com os argumentos que tenho visto, vamos substituir C\+\+ por aproximadamente sete linguagens diferentes. Quando isso acontecer, em 40 anos, provavelmente teremos 20 diferentes e eles terão que interoperar […] isso tende a não ser mencionado.” -O caos também somos nós: “Muitas das chamadas’linguagens seguras’terceirizam todas as tarefas de baixo nível para C ou C\+\+, por exemplo, para acessar recursos de hardware ou mesmo o sistema operacional, também programado em C\+\+.” -Ah, e o macarrão: “E o custo da conversão pode ser enorme. Isso raramente é mencionado.”

“Essa ideia de simplesmente construir um novo sistema fora do anterior e sem nenhum dos seus problemas é uma fantasia. Mas É uma fantasia muito popular”. Stroustrup aposta, neste contexto, numa abordagem “evolucionária”, em vez de simplesmente avançar para algo completamente novo.

A evolução do C\+\+ até hoje

Voltando à sua recente entrevista para InfoWorld , Stroustrup afirma que C\+\+ é uma linguagem que evoluiu significativamente desde sua criação em 1979 , e que a referida evolução de C\+\+ foi marcado, precisamente, pelo seu foco na expansão das garantias de segurança:

“Basta comparar a linguagem K&R C [nota: a versão da linguagem C exposta no famosíssimo manual de 1978] com o C\+\+ do início, e este por sua vez com o C\+\ + de hoje. “Muito código C\+\+ de qualidade é escrito usando técnicas baseadas em RAII (Resource Acquisition Is Initialization), wrappers e ponteiros de gerenciamento de recursos, em vez de depender de bagunças convencionais de ponteiros no estilo C.”

Reconhecendo a existência de duas questões relativas à segurança do C++, John Stroustrup, seu criador, reconhece a sua relevância.

-“Dos bilhões de linhas escritas com C\+\+, poucas seguem completamente as diretrizes modernas “. -“As noções das pessoas sobre quais aspectos da segurança são importantes diferem “.

Para atingir este objetivo, ele tem trabalhado em colaboração com o Comitê de Padrões C++ em uma solução proposta conhecida como ‘Perfis’.

“uma estrutura para especificar quais garantias um trecho de código exige e permitir que implementações as verifiquem [e] introduzam-nas gradualmente em grandes bases de código por meio de análise estática local e verificações mínimas de tempo de execução.”

*️⃣ Link da fonte:

InfoWorld, o famoso manual de 1978 , uma solução chamada’Profiles' ,