Carbon, a mais recente linguagem de programação a ser construída dentro do Google, foi apresentada hoje como um sucessor experimental do C++. Ao longo dos anos, o Google criou algumas linguagens de programação, algumas das quais se tornaram mais populares e proeminentes do que outras. Por exemplo, Golang (ou simplesmente Go) foi criado com o propósito de melhorar o desenvolvimento de servidores e sistemas distribuídos e desde então tem sido adotado pelo público. Enquanto isso, a linguagem de programação Dart, originalmente concebida como uma alternativa ao JavaScript, não alcançou popularidade até o lançamento do Flutter.
Hoje, na convenção Cpp North em Toronto, como compartilhado por Conor Hoekstra que estava presente e documentou os slides, o Googler Chandler Carruth compartilhou a visão de uma nova linguagem de programação chamada Carbon. Para definir o cenário, Carruth mostrou quantas das linguagens de programação mais populares de hoje têm sucessoras que permitem que os desenvolvedores sejam rapidamente produtivos e também aproveitem o design de linguagem moderna.
Os desenvolvedores de Android sabem que o Kotlin serve como um sucessor para Java, assim como os desenvolvedores iOS sabem que o Swift é o sucessor do Objective-C. O TypeScript, da Microsoft, aprimorou completamente o JavaScript, mantendo-se confortável de usar e capaz de ser “transpilado” de volta para o JavaScript. O C++, que tem uma quantidade significativa de uso no Google, também é uma espécie de sucessor da linguagem de programação C original.
Embora alguns possam sugerir que Rust, originalmente um projeto da Mozilla que desde então cresceu para ter um público significativo, é um sucessor do C++, Carruth se pergunta se a analogia ainda segue. Embora o Rust seja inegavelmente uma ótima linguagem para iniciar um novo projeto, ele não tem a mesma”interoperabilidade bidirecional”de algo como Java e Kotlin, dificultando a migração constante.
Se Rust funciona para você hoje, você deveria usá-lo. Mas mover um ecossistema C++ para o Rust é difícil.
Para esse fim, embora o Carbon tenha muitos dos mesmos objetivos do Rust, como ajudar os desenvolvedores a criar “software de desempenho crítico”, o Carbon também se destina a ser totalmente interoperável com o código C++ existente. Além disso, o objetivo é tornar a migração de C++ para Carbon o mais fácil possível, se desejado.
Quanto ao motivo pelo qual um desenvolvedor de C++ pode querer considerar a introdução do Carbon em sua base de código, Carruth compartilhou alguns destaques de a linguagem no palco.
Palavras-chave do introdutor e uma gramática simples Parâmetros de entrada de função são valores somente leituraPonteiros fornecem acesso indireto e mutaçãoUse expressões para nomear tiposO pacote é o namespace raizImportar APIs por meio de seu pacote nameParâmetro de objeto explícito declara um métodoHerança única; as classes são finais por padrãoGenericsTypes poderosos e verificados por definição explicitamente implementam interfaces
Além dos recursos da própria linguagem, a equipe do Carbon chamou a atenção para o processo de desenvolvimento que moldará o futuro do Carbon. O código do projeto é hospedado publicamente no GitHub e está aberto para pull requests, enquanto a cultura do Carbon é descrito para ser acessível e inclusivo para funcionários de empresas e pessoas físicas , da mesma forma.
Dito isso, um aspecto da linguagem de programação Carbon que não está particularmente bem delineado é o envolvimento do Google. Embora a apresentação de hoje tenha sido compartilhada por um Googler, e os líderes atuais do projeto para Carbon consistam principalmente-mas não inteiramente-de Googlers, não há menção de que Carbon seja um projeto do Google.
Isso é realmente intencional, pois Embora o Carbon tenha começado no Google, a equipe entende e tem compartilhado on-line que para ter sucesso no futuro, O Carbon precisa ser “um projeto independente e orientado pela comunidade”, não apenas impulsionado pelos próprios usos do Google. No mesmo comentário, Carruth enfatiza ainda que o Carbon é atualmente apenas um experimento, embora algumas empresas já tenham demonstrado interesse desde o início.
Se você estiver interessado em começar com o Carbon, faça o download do código-fonte e experimente-o em seu próprio dispositivo. Ou você pode conhecer a linguagem de programação Carbon diretamente no seu navegador, graças à integração com o aplicativo da Web gratuito Compiler Explorer.