Carbon, programovací jazyk, jehož cílem je nahradit C++

Před pár dny odhalil zaměstnanec společnosti Google který vyvíjí nový programovací jazyk tzv "Uhlí", že je umístěn jako experimentální náhrada za C++, rozšíření tohoto jazyka a odstranění stávajících nedostatků.

Podle Carruthovy prezentace byl jazyk vyvinut tak, aby byl schopen vytvářet software, kde je výkon kritický. Chtěli také umožnit vývojářům využít výhod moderního designu programovacího jazyka pomocí Carbon.

Některé z věcí zvýrazněných jako přednosti Carbonu ve srovnání s C++ byly např. jednodušší syntaxe a importy API. Podle Carrutha by tento nový experimentální jazyk měl být obousměrně interoperabilní s C++, což znamená, že projekty by měly být schopny migrovat z jednoho jazyka do druhého bez větších potíží.

Navíc je cílem dále rozvíjet jazyk otevřeným způsobem na internetu, kam může zdrojovým kódem přispívat každý, kdo chce. Projekt je veřejně dostupný na Github a je otevřená pro vytáhnout požadavky. 

Jazyk podporuje základní přenositelnost C++, lze se integrovat se stávajícím kódem C++ a poskytuje nástroje pro zjednodušení migrace stávajících projektů automatickým překladem knihoven C++ do kódu Carbon.

Můžete například přepsat určitou knihovnu v Carbonu a použít ji ve stávajícím projektu C++. Kompilátor Carbon je napsán pomocí sestavení LLVM a Clang.

Z hlavních charakteristik Carbon, vynikají následující:

  • Výkon výsledného kódu je srovnatelný s C++, při zachování možnosti přístupu k nízkoúrovňovým adresám a datům na bitové úrovni.
  • Přenositelnost se stávajícím kódem C++, včetně dědičnosti tříd a šablon.
  • Rychlá kompilace a schopnost integrace se stávajícími sestavovacími systémy pro C++.
  • Zjednodušte migraci mezi různými verzemi Carbon.
  • Poskytuje nástroje bezpečné pro paměť, které chrání před zranitelnostmi způsobenými adresováním oblasti paměti po jejím uvolnění, dereferencí nulových ukazatelů a přetečením vyrovnávací paměti.

Samozřejmě máme Rust jako navrhovanou alternativu k C a C++, ale toto ve skutečnosti není rozšiřující jazyk, je to spíše plnohodnotný jazyk, začněme znovu. Carbon se snaží být jako Rust a přitom je stále kompatibilní se světem C++, Na stránce Github se píše:

  • Přizpůsobení výkonu C++ pomocí LLVM s nízkoúrovňovým přístupem k bitům a adresám
  • Spolupracujte s vaším stávajícím kódem C++, od dědičnosti po šablony
  • Rychlá, škálovatelná sestavení, která fungují s vašimi stávajícími sestavovacími systémy C++

O uhlíku se tvrdí, že je nezbytný, protože postupné zlepšování C++ už prostě není možné kvůli historické zátěži, které se prostě nemůže zbavit. Osobně bych šel ještě dále a navrhl, že postupná „vylepšení“ v C++ jsou součástí důvodu, proč je to v praxi tak velký jazyk.

„Vždy se objevují nové jazyky, které se snaží být nástupci C++. Vítám experimenty s programovacími jazyky a programovacími styly, ale opravdu nechci vyvolávat kontroverze. Je snadné kritizovat zavedené jazyky (známe jejich problémy), ale obvykle je těžké nabídnout alternativy, aniž bychom vytvořili zcela nové sady problémů v jazykových pravidlech, knihovnách a správě. Carbon je tak nový a málo specifikovaný, že ve skutečnosti nemohu dělat žádné smysluplné technické komentáře,“ uvedl v e-mailu vynálezce C++ Bjarne Stroustrup.

Zatímco Carbon začínal jako interní projekt Google, vývojový tým chce nakonec do konce roku snížit příspěvky od Googlu nebo jakékoli jiné jednotlivé společnosti na méně než 50 %. Nakonec chtějí projekt předat nezávislé softwarové nadaci, kde jeho vývoj provedou dobrovolníci.

Konečně pokud máte zájem o tom vědět více měli byste vědět, že vývoj projektu je distribuován pod licencí Apache 2.0 a můžete je konzultovat Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.