Criador do C++ critica Casa Branca por sugerir o abandono da Linguagem de Programação

Bjarne Stroustrup destacou todos os avanços feitos pela sua linguagem sobre segurança nos últimos anos, que Washington parece "ignorar".

Escrito por
Claylson Martins
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.

A sugestão da Casa Branca de que programadores abandonem o uso do C++ continua rendendo. É que o criador do C++ resolve se manifestar e critica Casa Branca por sugerir o abandono da Linguagem de Programação. De acordo com Bjarne Stroustrup Washington parece “ignorar” todos os avanços e contribuições da linguagem nos últimos anos.

Há um mês, o Escritório de seu Diretor Nacional de Cibersegurança (ONCD) na Casa Branca emitiu um apelo para que a indústria de software optem por linguagens “seguras para memória” (como C#, Go, Java, Python e Rust) e abandone de vez dois clássicos de desenvolvimento: C e C++ (que são a base do Windows, macOS ou Linux); O documento culpou este último pelo aumento das vulnerabilidades que expõem a segurança de sistemas críticos.

C++ foi criada por Bjarne Stroustrup em 1983 como uma extensão da linguagem C, e é conhecida por ser uma linguagem de programação compilada e multi-paradigma. É utilizada em sistemas operacionais, navegadores, jogos, e aplicações que requerem alto desempenho, como softwares de engenharia e simulação. Suporta programação orientada a objetos e oferece um bom equilíbrio entre programação de baixo e alto nível.

maxresdefault
C++ foi criada por Bjarne Stroustrup em 1983. Criador do C++ critica Casa Branca por sugerir o abandono da Linguagem de Programação

Criador do C++ critica Casa Branca por sugerir o abandono da Linguagem de Programação

No entanto, Bjarne Stroustrup, o criador do C++, não concorda com o ponto de vista da Casa Branca. Além disso, ele também não se calou e recentemente deu uma entrevista em defesa de sua criação:

“Estou surpreso que os redatores desses documentos do governo pareçam ignorar tanto os pontos fortes do C++ contemporâneo quanto os esforços 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, então seria essencial melhorar as ferramentas e os processos de desenvolvimento.”

Na verdade, Stroustrup respondeu a vários dos argumentos da ONCD vários meses antes da publicação. É que a Casa Branca se baseia na posição de um relatório anterior da NSA). Ele fez isso durante a última ‘CppCon’ (a grande conferência anual de desenvolvedores de C++) em outubro de 2023.

Ele destaca alguns pontos:

Nem tudo é “segurança de memória”: “Muitas vezes, quando falam em segurança, estão se referindo apenas à segurança da memória; Mas essa não é a única que temos que ter em mente.”

Nós ou o Caos: “Em que outra língua eles querem apostar? Com base nos argumentos que tenho visto, vamos substituir o C++ por cerca de sete linguagens diferentes. Quando isso acontecer, daqui a 40 anos, provavelmente teremos 20 diferentes e eles terão que interoperar.”

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 a massa: “E o custo da conversão pode ser enorme.”

“Essa ideia de apenas construir um novo sistema fora do antigo e sem nenhum dos problemas do antigo é uma fantasia. Mas é uma fantasia muito popular.” Nesse contexto, Stroustrup opta por uma abordagem “evolutiva”, em vez de simplesmente caminhar em direção a algo completamente novo.

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

Voltando à recente entrevista para o InfoWorld, Stroustrup afirma que o C++ é uma linguagem que evoluiu significativamente desde sua criação em 1979. Além disso, essa evolução do C++ teve foco na expansão das garantias de segurança:

“Simplesmente, compare a linguagem K&R C [nota: a versão da linguagem C no famoso manual de 1978] com o C++ do início, e isso, por sua vez, com o C++ de hoje. Grande parte do código C++ de qualidade usa técnicas baseadas em RAII (Resource Acquisition Is Initialization), contêineres e ponteiros de gerenciamento de recursos, em vez de depender das bagunças dos ponteiros convencionais no estilo C.”

“Há dois problemas relacionados à segurança” com o C++, reconhece o Stroustrup:

  • “Dos bilhões de linhas escritas em C++, poucas seguem totalmente as diretrizes modernas.”
  • “As noções das pessoas sobre quais aspectos de segurança são importantes diferem.”

Para isso, tem colaborado com o Comitê de Padrões C++ em uma solução chamada ‘Perfis’,

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

Compartilhe este artigo