Carbon: Conhecendo a nova linguagem do Google

Um substituto para o C++?

No final de julho deste ano, o Google anunciou sua nova linguagem de programação de software, o Carbon. As notícias que seguiram foram sobre como o Carbon do Google está tentando ser um sucessor do C++. 


Frustrados com a lenta evolução do C++, engenheiros do Google lançaram uma nova linguagem de programação de código aberto “experimental”, chamada Carbon, como possível sucessora do venerável mas antigo C++.


Analisando a maneira como as BigTechs moldam as linguagens de programação, podemos notar que essas empresas inovam para o seu próprio benefício: assim como a Microsoft construiu o Typescript para atualizar o JavaScript, e o Kotlin foi criado para reforçar as fraquezas em Java, o Carbon poderia servir como uma linguagem sucessora para o C++, que ofereceria um ponto de partida fácil para desenvolvedores para uma linguagem mais recente que aborda conceitos de desenvolvimento modernos, como segurança de memória e generics.

documentação oficial declara que o Carbon “ foi projetado em torno da interoperabilidade com C++, bem como adoção e migração em larga escala para bases de código e desenvolvedores C++ existentes ”.

Ao longo desse artigo eu vou explicar como podemos instalar e executar a versão experimental do Carbon em uma máquina local.

Após a instalação você poderá buscar na sua documentação oficial as principais características dessa linguagem e executar testes.

Primeiramente, veremos os seguintes passos para configurar o ambiente:

  1. Homebrew
  2. Bazel
  3. LLVM
  4. Clonar repositório da linguagem Carbon
  5. Executar o Explorer

Você pode encontrar esse mesmo passo a passo em inglês neste link.

Aqui, vou apenas adicionar um pouco de contexto e uma breve explicação para aqueles que abordaram a linguagem e as suas ferramentas pela primeira vez.

As principais ferramentas usadas pelo Carbon:


1. Homebrew 

Homebrew é um gerenciador de pacotes que pode já estar instalado em seu computador. Execute o comando pra conferir se você já o tem instalado:


 brew --version


Se não for esse o caso, você pode instalar o Homebrew no macOS, Linux e Windows (através do WSL).


2. Bazel

O Bazel é uma ferramenta de compilação e teste de código aberto que oferece suporte escalonável a projetos multilíngue e multiplataforma.

De acordo com a documentação, “ Bazel é o sistema de construção padrão da Carbon. O Bazelisk é recomendado para instalar o Bazel ”.

Execute o comando abaixo para instalar o Bazel:


brew install bazelisk


3. LLVM

Você pode ver o LLVM como uma máquina virtual de baixo nível, mas “LLVM tem pouco a ver com máquinas virtuais tradicionais”. O LLVM é usado para compilar e vincular o Carbon como parte de sua compilação.

Execute o seguinte comando para instalar o LLVM:


brew install llvm


Esteja ciente de que no macOS (não no Linux), você deve executar o seguinte comando para atualizar o PATH:


export PATH="$(brew --prefix llvm)/bin:${PATH}"


4. Clonar linguagem de Carbon

Execute os seguintes comandos em uma pasta apropriada.

Eles clonarão e baixarão o código da linguagem Carbon localmente.


git clone https://github.com/carbon-language/carbon-lang

cd carbon-lang




5. Execute o Explorer


Finalmente, estamos prontos para construir e executar o explorer.

O código a seguir executa a ferramenta de compilação do Bazel para que ela acione o código do explorador:


bazel run //explorer -- ./explorer/testdata/print/format_only.carbon


O explorador executa o código original no arquivo no local designado:


./explorer/testdata/print/format_only.carbon


A extensão .carbon é necessária para que o compilador saiba que o arquivo contém linguagem Carbon.

Eventualmente, você deve obter um “Hello World” como o seguinte.



Analisando sua sintaxe:

Se você estiver familiarizado com o C, C++ ou linguagens semelhantes, também estará familiarizado com a sintaxe do Carbon.

O Carbon ainda é experimental e algumas coisas podem mudar. A própria documentação afirma: “Observe que o Carbon não está pronto para uso”. No entanto, alguns princípios de design são menos propensos a mudar.

Vamos começar analisando o código que acabamos de compilar, ele se encontra no arquivo: format_only.carbon

fn Main() -> i32 {  var s: auto = "Hello world!";
Print(s);
return 0;
}


  • A palavra-chave package declara pacotes.
    Este arquivo contribui para a biblioteca padrão.
  • A palavra-chave fn declara funções.
    O trecho de código
    fn Main() -> i32 {...} declara uma função chamada Main. O tipo de retorno de Main é i32, ou seja, um inteiro de 32 bits. Essa função Main retorna o valor zero.
  • A palavra-chave var introduz uma declaração de variável.
    No código acima, é o nome da variável, seguido por dois pontos e o tipo auto é usado para inferir o tipo de variável automaticamente.
  • É possível declarar constantes usando a palavra-chave let.
    Embora isso possa ser confuso para desenvolvedores vindos de JavaScript, será tranquilo para desenvolvedores vindos de Swift.
  • Finalmente, você pode adicionar comentários adicionando duas barras //.

Com este arquivo simples podemos ter uma visão geral da sintaxe do Carbon.


Comentários

Postagens mais visitadas deste blog

Passo a passo: Criando gráficos com o Google Charts

Entenda o que são as Razor Pages do .NET CORE

Como instalar a linguagem SOL no Windows