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

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.

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