Carbon: Google cria linguagem de programação para substituir o C++

Carbon vem para ser um "C++ mais moderno"; apesar de ter sido criada no Google, linguagem tem a proposta de ser mantida por uma comunidade

Emerson Alecrim
Linguagem de programação Carbon (imagem ilustrativa: Emerson Alecrim/Tecnoblog)

Linguagens de programação com a proposta de substituir o C ou o C++ não são novidade, mas nunca tiveram grande sucesso. A linguagem Carbon, anunciada nesta semana, tem boas chances de emplacar no mercado, porém. Motivo: trata-se de uma iniciativa que tem origem no Google. O projeto foi apresentado como um “sucessor experimental do C++”.

É curioso pensar em sucessor para o C++ porque, pelo menos até certo ponto, a linguagem surgiu em 1985 para substituir o C, que nasceu 1972. Não substituiu. Não totalmente. Ambas as linguagens são importantes até os dias atuais para numerosos projetos.

Mas, das décadas de 1970 e 1980 para cá, muita coisa mudou no universo do desenvolvimento de software. Hoje, os recursos de hardware são muito mais avançados, a internet é essencial para uma enormidade de aplicações e dispositivos computacionais (incluindo celulares) estão por todos os lados.

Tudo isso faz fatores como desempenho e segurança nos softwares serem levados muito a sério. A agilidade no desenvolvimento também. É aí que a ideia do Carbon começa a ganhar forma. Basicamente, a proposta da linguagem é fazer o que C++ faz, mas de um modo mais alinhado com conceitos modernos de desenvolvimento.

Qual o problema do C++?

Chandler Carruth, líder de engenharia de software do Google, apresentou o Carbon na conferência CPP North, nesta semana. No evento, ele justificou o projeto explicando que o C++ continua sendo importante para aplicações críticas, mas tem várias limitações que dificultam os trabalhos de desenvolvimento atuais.

Eis um exemplo: no C++, é relativamente comum desenvolvedores se depararem com falhas no acesso à memória. Isso pode causar sérios problemas de segurança.

Outro problema: a padronização do C++ é mantida, sobretudo, por organizações que estão mais preocupadas em manter a compatibilidade da linguagem com versões antigas.

Este último aspecto não é exatamente ruim. Uma padronização conservadora, por assim dizer, é uma política que garante estabilidade a softwares clássicos ou amplamente distribuídos, a exemplo do kernel Linux. Por outro lado, a mesma política dificulta a implementação de recursos mais modernos no C++.

O que a linguagem Carbon tem a oferecer?

De modo geral, a proposta do Carbon é a de ser uma linguagem aberta e baseada em princípios de programação modernos.

Isso inclui a criação de APIs e outros recursos para garantir a segurança do acesso à memória, uma sintaxe (conjunto de regras de composição das instruções de uma linguagem) um pouco mais simples e compilações mais rápidas.

Como não poderia deixar de ser, a interoperabilidade com código em C++ é outra característica do projeto. Isso vale inclusive para a migração escalável de código e o reaproveitamento de bibliotecas, por exemplo.

De acordo com o “readme” do Carbon, a linguagem tem os seguintes objetivos:

  • Ser ideal para software de desempenho crítico;
  • Ter código fácil de ler, compreender e escrever;
  • Oferecer mecanismos práticos de segurança e teste;
  • Permitir desenvolvimento rápido e escalável;
  • Funcionar com plataformas modernas de sistemas operacionais, arquiteturas de hardware e ambientes;
  • A já mencionada interoperabilidade com código em C++.

Será que a linguagem Carbon vinga?

É difícil dizer. Mas o projeto tem uma proposta coerente, razão qual eu acredito que o Carbon pode, sim, ocupar um lugar de destaque no mercado.

A razão para isso é que o projeto não tenta reinventar a roda. Apesar de ser uma linguagem antiga, o C++ ainda é bastante requisitado. Entre os vários motivos para isso estão o desempenho consistente e a sua ampla documentação. A nova linguagem vem, então, para aproveitar o que C++ tem de melhor e adicionar recursos mais modernos.

É verdade que o Carbon surgiu dentro das paredes do Google, mas a empresa quer que as suas contribuições sejam inferiores a 50% do código do projeto até o fim do ano.

Em outras palavras, o plano é o de fazer a linguagem ser mantida por uma comunidade de desenvolvedores de código aberto, e não depender de uma organização privada.

Carruth classifica o projeto como uma linguagem experimental. Não surpreende. A Iniciativa tem objetivos ousados, mas está apenas na fase inicial.

Se você quiser conhecer a linguagem ou até contribuir com ela, o repositório do Carbon está no GitHub.

Com informações: The New Stack.

Relacionados

Escrito por

Emerson Alecrim

Emerson Alecrim

Repórter

Emerson Alecrim cobre tecnologia desde 2001 e entrou para o Tecnoblog em 2013, se especializando na cobertura de temas como hardware, sistemas operacionais e negócios. Formado em ciência da computação, seguiu carreira em comunicação, sempre mantendo a tecnologia como base. Em 2022, foi reconhecido no Prêmio ESET de Segurança em Informação. Em 2023, foi reconhecido no Prêmio Especialistas, em eletroeletrônicos. Participa do Tecnocast, já passou pelo TechTudo e mantém o site Infowester.