Carbon, programski jezik, ki naj bi nadomestil C++

Pred nekaj dnevi je razkril uslužbenec Googla ki razvija nov programski jezik imenovan "Premog", da je postavljen kot poskusna zamenjava za C++, razširitev tega jezika in odpravo obstoječih pomanjkljivosti.

Glede na Carruthovo predstavitev je bil jezik razvit za ustvarjanje programske opreme, kjer je zmogljivost kritična. Prav tako so želeli razvijalcem omogočiti, da izkoristijo zasnovo sodobnega programskega jezika z uporabo Carbona.

Nekatere stvari, ki so bile poudarjene kot vrhunci Carbona v primerjavi s C++, so bile npr. preprostejša sintaksa in uvozi API-jev. Po besedah ​​Carrutha bi moral biti ta novi eksperimentalni jezik dvosmerno interoperabilen s C++, kar pomeni, da bi morali biti projekti sposobni seliti iz enega jezika v drugega brez večjih težav.

Poleg tega je cilj nadaljnji razvoj jezika na odprt način na internetu, kjer lahko vsakdo, ki želi, prispeva izvorno kodo. Projekt je javno dostopen na Githubu in je odprt za povleči zahteve. 

Jezik podpira osnovno prenosljivost C++, se lahko integrira z obstoječo kodo C++ in ponuja orodja za poenostavitev selitve obstoječih projektov s samodejnim prevajanjem knjižnic C++ v kodo Carbon.

Na primer, določeno knjižnico lahko prepišete v Carbon in jo uporabite v obstoječem projektu C++. Prevajalnik Carbon je napisan z uporabo gradenj LLVM in Clang.

Glavne značilnosti ogljika, izstopajo:

  • Zmogljivost dobljene kode je primerljiva s C++, hkrati pa ohranja možnost dostopa do nizkonivojskih naslovov in bitnih podatkov.
  • Prenosljivost z obstoječo kodo C++, vključno z dedovanjem razredov in predlogami.
  • Hitro prevajanje in zmožnost integracije z obstoječimi gradbenimi sistemi za C++.
  • Poenostavite selitev med različnimi različicami Carbon.
  • Zagotavlja varna orodja za pomnilnik, ki ščitijo pred ranljivostmi, ki jih povzroči naslavljanje pomnilniškega območja po tem, ko je bilo osvobojeno, dereferenciranje ničelnih kazalcev in prelivanje medpomnilnika.

Seveda imamo Rust kot predlagano alternativo za C in C++, vendar to v resnici ni razširitveni jezik, je bolj polnopravni jezik, začnimo znova. Carbon poskuša biti kot Rust, hkrati pa je še vedno združljiv s svetom C++, No, na njegovi strani Github piše:

  • Ujemanje zmogljivosti C++ z uporabo LLVM z dostopom na nizki ravni do bitov in naslovov
  • Interoperirajte z vašo obstoječo kodo C++, od dedovanja do predlog
  • Hitre, razširljive gradnje, ki delujejo z vašimi obstoječimi gradbenimi sistemi C++

Carbon naj bi bil potreben, ker postopno izboljšanje C++ preprosto ni več mogoče zaradi zgodovinske prtljage, ki se je preprosto ne more znebiti. Osebno bi šel dlje in predlagal, da so postopne "izboljšave" v C++ del razloga, zakaj je v praksi tako velik jezik.

»Vedno se pojavljajo novi jeziki, ki poskušajo biti nasledniki C++. Pozdravljam poskuse s programskimi jeziki in stili programiranja, vendar res ne želim sprožati polemike. Preprosto je kritizirati uveljavljene jezike (poznamo njihove težave), vendar je običajno težko ponuditi alternative, ne da bi ustvarili popolnoma nove sklope težav v jezikovnih pravilih, knjižnicah in upravljanju. Carbon je tako nov in premalo opredeljen, da pravzaprav ne morem podati nobenih pomembnih tehničnih pripomb,« je v elektronskem sporočilu dejal izumitelj C++ Bjarne Stroustrup.

Medtem ko se je Carbon začel kot notranji Googlov projekt, želi razvojna ekipa končno zmanjšati prispevke Googla ali katerega koli drugega posameznega podjetja na manj kot 50 % do konca leta. Nazadnje želijo projekt predati neodvisni fundaciji za programsko opremo, kjer bodo njegov razvoj izvajali prostovoljci.

Končno če vas zanima več o tem vedeti morate, da se razvoj projekta distribuira pod licenco Apache 2.0 in si jih lahko ogledate V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.