Vix Blog
No Result
View All Result
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA
NEWSLETTER
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA
No Result
View All Result
Vix Blog
No Result
View All Result

Apresentando Carbon, o sucessor experimental do Google para C++

Carolina by Carolina
25 de julho de 2022
Reading Time: 6 mins read
0
Apresentando Carbon, o sucessor experimental do Google para C++

RELATED POSTS

O que é DNS criptografado? Os 4 principais provedores para melhorar a privacidade e a segurança online

Não consegue fazer login no seu Mac? Experimente estas 4 dicas

O que é bateria mAh e o que ela mede?

Desde a sua criação, o C++ tem sido a principal escolha para a criação de aplicativos de alto desempenho. Mas a linguagem ainda apresenta algumas práticas desatualizadas causadas pelo seu “design por comitê”.

Em 19 de julho de 2022, durante a conferência CPP North C++ em Toronto, o engenheiro do Google Chandler Carruth apresentou o Carbon.

Descubra o que é Carbon e como pretende ter sucesso com o C++.

MAKEUSEO VÍDEO DO DIA

O que é Carbono?

Os engenheiros do Google desenvolveram a linguagem de programação Carbon para resolver as deficiências do C++.

Muitas linguagens existentes como Golang e Rust já existem que espelham o desempenho do C++ sem suas deficiências. Infelizmente, essas linguagens apresentam barreiras significativas para a migração de bases de código C++ existentes.

Carbon pretende ser o que TypeScript é para JavaScript, e Kotlin é para Java. Não é uma substituição, mas uma linguagem sucessora projetada em torno da interoperabilidade com C++. Ele visa a adoção e migração em larga escala para bases de código e desenvolvedores existentes.

Principais Características do Carbono

Alguns dos principais recursos do Carbon incluem interoperabilidade C++, genéricos modernos e segurança de memória.

Interoperabilidade com C++

O Carbon visa fornecer uma curva de aprendizado suave para desenvolvedores C++, com um conjunto padrão e consistente de construções de linguagem.

Por exemplo, pegue este código C++:


#include <math.h>
#include <iostream>
#include <span>
#include <vector>

struct Circle {
float r;
};

void PrintTotalArea(std::span<Circle> circles) {
float area = 0;

for (const Circle& c : circles) {
area += M_PI * c.r * c.r;
}

std::cout << "Total area: " << area << endl;
}

auto main(int argc, char** argv) -&gt; int {
std::vector<Circle> circles = {{1.0}, {2.0}};


PrintTotalArea(circles);
return 0;
}

Traduzido para Carbono, torna-se:


package Geometry api;
import Math;

class Circle {
var r: f32;
}

fn PrintTotalArea(circles: Slice(Circle)) {
var area: f32 = 0;

for (c: Circle in circles) {
area += Math.Pi * c.r * c.r;
}

Print("Total area: {0}", area);
}

fn Main() -&gt; i32 {
var circles: Array(Circle) = ({.r = 1.0}, {.r = 2.0});


PrintTotalArea(circles);
return 0;
}

Você também pode migrar uma única biblioteca C++ para Carbon dentro de um aplicativo ou adicionar um novo código Carbon sobre o código C++ existente. Por exemplo:


struct Circle {
float r;
};


package Geometry api;
import Cpp library "circle.h";
import Math;

fn PrintTotalArea(circles: Slice(Cpp.Circle)) {
var area: f32 = 0;

for (c: Cpp.Circle in circles) {
area += Math.Pi * c.r * c.r;
}

Print("Total area: {0}", area);
}


#include <vector>
#include "circle.h"
#include "geometry.carbon.h"

auto main(int argc, char** argv) -&gt; int {
std::vector<Circle> circles = {{1.0}, {2.0}};


Geometry::PrintTotalArea(circles);
return 0;
}

Um Sistema Genérico Moderno

Carbono fornece um sistema genérico moderno com definições verificadas. Mas ele ainda oferece suporte a modelos opt-in para interoperabilidade C++ perfeita.

Esse sistema genérico oferece muitas vantagens aos modelos C++:

  • Verificações de tipo para definições genéricas. Isso evita o custo de tempo de compilação de verificar novamente as definições para cada instanciação.
  • Interfaces fortes e verificadas. Isso reduz dependências acidentais em detalhes de implementação e cria um contrato mais explícito.

Segurança da memória

O Carbon procura abordar a segurança da memória, uma questão fundamental que assola o C++, por:

  • Rastreando melhor os estados não inicializados, aumentando a aplicação da inicialização e protegendo contra bugs de inicialização.
  • Projetando APIs e idiomas fundamentais para dar suporte a verificações de limites dinâmicos em compilações de depuração e reforçadas.
  • Ter um modo de compilação de depuração padrão que é mais abrangente do que os modos de compilação existentes do C++.


Introdução ao Carbono

Você pode explorar o Carbon agora mesmo verificando a base de código e usando o Carbon explorer:


$ brew install bazelisk


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


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


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

O roteiro da Carbon revela o pensamento de longo prazo

De acordo com o roteiro da Carbon, o Google tornará o experimento público com o lançamento de uma versão de trabalho principal (0.1) até o final de 2022. Eles planejam seguir com uma versão 0.2 em 2023 e uma versão 1.0 completa em 2024–2025.

Se o Google será capaz de reproduzir o sucesso de seus outros idiomas, Golang e Kotlin, ainda não se sabe.

Carolina

Carolina

Related Posts

O que é DNS criptografado?  Os 4 principais provedores para melhorar a privacidade e a segurança online
Notícias

O que é DNS criptografado? Os 4 principais provedores para melhorar a privacidade e a segurança online

19 de janeiro de 2023
Não consegue fazer login no seu Mac?  Experimente estas 4 dicas
Notícias

Não consegue fazer login no seu Mac? Experimente estas 4 dicas

19 de janeiro de 2023
O que é bateria mAh e o que ela mede?
Notícias

O que é bateria mAh e o que ela mede?

19 de janeiro de 2023
Qual M2 Pro Mac você deve comprar?
Notícias

Qual M2 Pro Mac você deve comprar?

19 de janeiro de 2023
8 sites freelancers menos conhecidos e de baixa concorrência
Notícias

8 sites freelancers menos conhecidos e de baixa concorrência

18 de janeiro de 2023
O que é uma compra em grupo de teclado mecânico e porquê eles funcionam?
Notícias

O que é uma tecla de via e porquê você pode fazer a sua própria?

18 de janeiro de 2023
Next Post
Como ativar o modo escuro no bloco de notas no Windows 10 e 11

Como ativar o modo escuro no bloco de notas no Windows 10 e 11

14 Hard e Soft Skills para incluir no seu currículo

14 Hard e Soft Skills para incluir no seu currículo

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

No Result
View All Result

Últimas Notícias

Donald Trump’s Truth Social Is Now Available on Android

Porquê a IA enganou as pessoas fazendo-as pensar que Trump havia sido recluso

24 de março de 2023
Uma vez que configurar e usar IA no Opera

Uma vez que configurar e usar IA no Opera

24 de março de 2023
Porquê emendar o ramal do controle do Xbox One

Porquê emendar o ramal do controle do Xbox One

24 de março de 2023
Quais são os conceitos Futuristic Sphere EV da Audi?

Quais são os conceitos Futuristic Sphere EV da Audi?

24 de março de 2023
Os 9 melhores sites e comunidades online para mulheres em tecnologia

Os 9 melhores sites e comunidades online para mulheres em tecnologia

24 de março de 2023

Categorias

  • Entretenimento
  • Mundo
  • Notícias
  • Segurança
Vix Blog

Somos entusiastas da tecnologia com a missão de ensinar ao mundo como usar e compreender a tecnologia em suas vidas.
SAIBA MAIS »

Entre em contato conosco enviando um e-mail para contato@vixblog.com

Posts recentes

  • Porquê a IA enganou as pessoas fazendo-as pensar que Trump havia sido recluso
  • Uma vez que configurar e usar IA no Opera
  • Porquê emendar o ramal do controle do Xbox One

Categorias

  • Entretenimento
  • Mundo
  • Notícias
  • Segurança

Links Importantes

  • Quem Somos
  • Blog
  • Fale Conosco
  • Política de Privacidade
  • DMCA

© 2021 VixBlog - Notícias e dicas para o seu dia dia.

No Result
View All Result
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA

© 2021 VixBlog - Notícias e dicas para o seu dia dia.