Os macetes mais valiosos no Google para quem trabalha com programaçãoO 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.
Hare é uma nova linguagem de programação que tenta substituir o C
É 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.