Carbon, programmeerimiskeel, mille eesmärk on asendada C++

Paar päeva tagasi paljastas Google'i töötaja kes töötab välja uut programmeerimiskeelt nimega "kivisüsi", et on positsioneeritud C++ eksperimentaalseks asenduseks, laiendades seda keelt ja kõrvaldades olemasolevad puudused.

Carruthi ettekande kohaselt töötati keel välja selleks, et oleks võimalik luua tarkvara, kus jõudlus on kriitilise tähtsusega. Samuti soovisid nad, et arendajad saaksid Carboni abil kaasaegse programmeerimiskeele disaini eeliseid kasutada.

Mõned asjad, mida süsiniku esiletõstudena C++-ga võrreldes esile tõsteti, olid näiteks lihtsam süntaks ja API importimine. Carruthi sõnul peaks see uus eksperimentaalne keel olema C++-ga kahesuunaliselt koostalitlusvõimeline, mis tähendab, et projektid peaksid suutma ilma suuremate raskusteta ühest keelest teise migreeruda.

Lisaks on eesmärk arendada keelt edasi avatud viisil Internetis, kuhu kõik soovijad saavad panustada lähtekoodi. Projekt on Githubis avalikult saadaval ja on avatud tõmba taotlused. 

Keel toetab põhilist C++ kaasaskantavust, saab integreerida olemasoleva C++ koodiga ja pakub tööriistu olemasolevate projektide migratsiooni lihtsustamiseks, tõlkides C++ teegid automaatselt süsinikukoodiks.

Näiteks saate teatud teegi Carbonis ümber kirjutada ja kasutada seda olemasolevas C++ projektis. Carboni kompilaator on kirjutatud LLVM-i ja Clangi järge kasutades.

Süsiniku peamistest omadustest, paistavad silma järgmised:

  • Saadud koodi jõudlus on võrreldav C++-ga, säilitades samal ajal juurdepääsu madala taseme aadressidele ja bititaseme andmetele.
  • Kaasaskantavus olemasoleva C++ koodiga, sealhulgas klassi pärimine ja mallid.
  • Kiire kompileerimine ja võimalus integreerida olemasolevate C++ ehitussüsteemidega.
  • Lihtsustage migratsiooni Carboni erinevate versioonide vahel.
  • Pakub mälukindlaid tööriistu, mis kaitsevad haavatavuste eest, mis on põhjustatud mäluala adresseerimisest pärast selle vabastamist, nullviidate viitamise ja puhvri ületäitumise eest.

Muidugi on meil C ja C++ alternatiiviks Rust, kuid see pole tegelikult laienduskeel, see on pigem täieõiguslik keel, alustame uuesti. Carbon üritab olla nagu Rust, olles samal ajal ühilduv C++ maailmaga, Noh, selle Githubi lehel on kirjas:

  • C++ jõudluse sobitamine LLVM-i abil, madala juurdepääsuga bittidele ja aadressidele
  • Tehke koostööd oma olemasoleva C++ koodiga, alates pärimisest kuni mallideni
  • Kiired, skaleeritavad järgud, mis töötavad teie olemasolevate C++ ehitussüsteemidega

Väidetavalt on süsinik vajalik, sest C++ järkjärguline täiustamine pole lihtsalt enam võimalik ajaloolise pagasi tõttu, millest see lihtsalt ei saa lahti. Isiklikult läheksin kaugemale ja pakuksin, et C++ järkjärgulised "täiustused" on osa põhjusest, miks see on praktikas nii suur keel.

"Alati on uusi keeli, mis püüavad olla C++ järglased. Tervitan programmeerimiskeelte ja programmeerimisstiilide katseid, kuid ma tõesti ei taha vaidlusi tekitada. Väljakujunenud keeli on lihtne kritiseerida (me teame nende probleeme), kuid tavaliselt on raske pakkuda alternatiive, ilma et tekiks keelereeglites, raamatukogudes ja valitsemises täiesti uusi probleeme. Süsinik on nii uus ja alaspetsiifiline, et ma ei saa tegelikult ühtegi sisulist tehnilist kommentaari anda, ”ütles C++ leiutaja Bjarne Stroustrup meilis.

Kuigi Carbon alustas Google'i siseprojektina, soovib arendusmeeskond lõpuks vähendada Google'i või mõne muu üksiku ettevõtte panust aasta lõpuks alla 50%. Lõppkokkuvõttes tahetakse projekt anda üle sõltumatule tarkvara sihtasutusele, kus selle väljatöötamisega tegelevad vabatahtlikud.

Lõpuks kui olete huvitatud sellest rohkem teada saama peaksite teadma, et projekti arendusi levitatakse Apache 2.0 litsentsi all ja saate nendega tutvuda Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.