Carbon, programavimo kalba, kuria siekiama pakeisti C++

Prieš kelias dienas „Google“ darbuotojas atskleidė kuris kuria naują programavimo kalbą, vadinamą "Anglis", kad yra eksperimentinis C++ pakaitalas, plečiant šią kalbą ir pašalinant esamus trūkumus.

Remiantis Carruth pristatymu, kalba buvo sukurta tam, kad būtų galima sukurti programinę įrangą, kurioje našumas yra labai svarbus. Jie taip pat norėjo leisti kūrėjams pasinaudoti šiuolaikinės programavimo kalbos dizaino pranašumais naudojant „Carbon“.

Pavyzdžiui, kai kurie dalykai, paryškinti kaip „Carbon“ akcentai, palyginti su C++, buvo, pavyzdžiui, paprastesnė sintaksė ir API importavimas. Carruth teigimu, ši nauja eksperimentinė kalba turėtų būti suderinama su C++ dviem kryptimis, o tai reiškia, kad projektai turėtų be didelių sunkumų perkelti iš vienos kalbos į kitą.

Be to, tai yra tikslas toliau plėtoti kalbą atviru būdu internete, kur visi norintys galėtų prisidėti prie šaltinio kodo. Projektas yra viešai prieinamas Github ir yra atvira traukti prašymus. 

Kalba palaiko pagrindinį C++ perkeliamumą, gali integruoti su esamu C++ kodu ir suteikia įrankius, supaprastinančius esamų projektų perkėlimą, automatiškai paverčiant C++ bibliotekas į anglies kodą.

Pavyzdžiui, galite perrašyti tam tikrą biblioteką „Carbon“ ir naudoti ją esamame C++ projekte. „Carbon“ kompiliatorius parašytas naudojant LLVM ir „Clang“ versijas.

Iš pagrindinių anglies savybių, išsiskiria:

  • Gauto kodo našumas yra panašus į C++, išlaikant galimybę pasiekti žemo lygio adresus ir bitų lygio duomenis.
  • Perkeliamumas naudojant esamą C++ kodą, įskaitant klasės paveldėjimą ir šablonus.
  • Greitas kompiliavimas ir galimybė integruoti su esamomis C++ kūrimo sistemomis.
  • Supaprastinkite perėjimą tarp skirtingų „Carbon“ versijų.
  • Teikia atmintį saugančius įrankius, apsaugančius nuo pažeidžiamumų, atsirandančių kreipiantis į atminties sritį po to, kai ji buvo atlaisvinta, panaikinus nulinius rodmenis ir buferio perpildymą.

Žinoma, mes siūlome Rust kaip C ir C++ alternatyvą, tačiau tai tikrai nėra išplėstinė kalba, tai labiau visavertė kalba, pradėkime iš naujo. Carbon bando būti kaip Rust, tačiau vis dar yra suderinamas su C++ pasauliu, Na, jo Github puslapyje rašoma:

  • C++ našumo suderinimas naudojant LLVM, su žemo lygio prieiga prie bitų ir adresų
  • Bendradarbiaukite su esamu C++ kodu, nuo paveldėjimo iki šablonų
  • Greiti, keičiamo dydžio versijos, kurios veikia su esamomis C++ kūrimo sistemomis

Teigiama, kad anglis yra būtina, nes laipsniškas C++ tobulinimas tiesiog nebeįmanomas dėl istorinio bagažo, kurio jis tiesiog negali atsikratyti. Asmeniškai aš norėčiau eiti toliau ir manyti, kad laipsniški C++ „patobulinimai“ yra dalis priežasties, kodėl tai tokia didelė kalba praktiškai.

„Visada atsiranda naujų kalbų, kurios bando tapti C++ įpėdiniais. Sveikinu eksperimentus su programavimo kalbomis ir programavimo stiliais, bet tikrai nenoriu kurstyti ginčų. Lengva kritikuoti nusistovėjusias kalbas (žinome jų problemas), tačiau paprastai sunku pasiūlyti alternatyvų nesukuriant visiškai naujų problemų kalbos taisyklėse, bibliotekose ir valdyme. Anglis yra tokia nauja ir nepakankamai apibrėžta, kad aš tikrai negaliu pateikti prasmingų techninių komentarų“, – elektroniniame laiške sakė C++ išradėjas Bjarne'as Stroustrup.

Nors „Carbon“ prasidėjo kaip vidinis „Google“ projektas, kūrėjų komanda galiausiai nori sumažinti „Google“ ar bet kurios kitos individualios įmonės įnašą iki mažiau nei 50 % iki metų pabaigos. Galiausiai projektą norima perduoti nepriklausomam programinės įrangos fondui, kur jį kurs savanoriai.

Pagaliau jei norite sužinoti daugiau apie tai Turėtumėte žinoti, kad projekto plėtra platinama pagal Apache 2.0 licenciją ir galite su jais susipažinti Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.