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
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++”.
- Os macetes mais valiosos no Google para quem trabalha com programação
- O que faz um desenvolvedor full stack?
É 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.