Carbon, programski jezik koji nastoji zamijeniti C++

Prije nekoliko dana otkrio je Googleov zaposlenik koji razvija novi programski jezik tzv "Ugljen", ovo pozicioniran je kao eksperimentalna zamjena za C++, proširujući ovaj jezik i uklanjajući postojeće nedostatke.

Prema Carruthovoj prezentaciji, jezik je razvijen kako bi mogao stvoriti softver gdje je izvedba kritična. Također su željeli omogućiti programerima da iskoriste prednosti dizajna modernog programskog jezika korištenjem Carbona.

Neke od stvari koje su istaknute kao vrhunci Carbona u usporedbi s C++ bile su, na primjer, jednostavnija sintaksa i API uvozi. Prema Carruthu, ovaj bi novi eksperimentalni jezik trebao biti dvosmjerno interoperabilan sa C++, što znači da bi projekti trebali moći migrirati s jednog jezika na drugi bez većih poteškoća.

Osim toga, cilj je dalje razvijati jezik na otvoren način na Internetu, gdje svatko tko želi može doprinijeti izvornom kodu. Projekt je javno dostupan na Githubu i otvoren je za zahtjevi za povlačenjem. 

Jezik podržava osnovnu C++ prenosivost, može se integrirati s postojećim C++ kodom i pruža alate za pojednostavljenje migracije postojećih projekata automatskim prevođenjem C++ biblioteka u Carbon kod.

Na primjer, možete prepisati određenu biblioteku u Carbon i koristiti je u postojećem C++ projektu. Carbon kompajler napisan je korištenjem LLVM i Clang buildova.

Od glavnih karakteristika ugljika, izdvajaju se:

  • Izvedba dobivenog koda usporediva je s C++, uz zadržavanje mogućnosti pristupa adresama niske razine i podacima na razini bita.
  • Prenosivost s postojećim C++ kodom, uključujući nasljeđivanje klasa i predloške.
  • Brza kompilacija i mogućnost integracije s postojećim sustavima za izgradnju za C++.
  • Pojednostavite migraciju između različitih verzija Carbona.
  • Pruža alate sigurne za memoriju koji štite od ranjivosti uzrokovanih adresiranjem memorijskog područja nakon što je ono oslobođeno, dereferenciranja nultih pokazivača i preljeva međuspremnika.

Naravno, imamo Rust kao predloženu alternativu za C i C++, ali ovo zapravo nije jezik proširenja, to je više potpuni jezik, počnimo ispočetka. Carbon pokušava biti poput Rusta, a istovremeno biti kompatibilan sa svijetom C++-a, Pa, na Github stranici piše:

  • C++ usklađivanje performansi pomoću LLVM-a, s niskom razinom pristupa bitovima i adresama
  • Interoperirajte s vašim postojećim C++ kodom, od nasljeđivanja do predložaka
  • Brze, skalabilne verzije koje rade s vašim postojećim C++ sustavima izrade

Tvrdi se da je Carbon neophodan jer inkrementalno poboljšanje C++ jednostavno više nije moguće zbog povijesne prtljage koje se jednostavno ne može riješiti. Osobno bih otišao dalje i predložio da su inkrementalna "poboljšanja" u C++-u dio razloga zašto je to tako velik jezik u praksi.

“Uvijek postoje novi jezici koji pokušavaju biti nasljednici C++. Pozdravljam eksperimente s programskim jezicima i stilovima programiranja, ali stvarno ne želim izazivati ​​kontroverze. Lako je kritizirati etablirane jezike (znamo njihove probleme), ali obično je teško ponuditi alternative bez stvaranja potpuno novih skupova problema u jezičnim pravilima, knjižnicama i upravljanju. Carbon je toliko nov i nedovoljno definiran da zapravo ne mogu dati nikakve smislene tehničke komentare,” Bjarne Stroustrup, izumitelj C++-a, rekao je u e-poruci.

Iako je Carbon započeo kao interni Googleov projekt, razvojni tim u konačnici želi smanjiti doprinose Googlea ili bilo koje druge pojedinačne tvrtke na manje od 50% do kraja godine. U konačnici, projekt žele predati neovisnoj softverskoj zakladi, gdje će njegov razvoj provoditi volonteri.

Konačno ako vas zanima više o tome trebali biste znati da se razvoj projekta distribuira pod licencom Apache 2.0 i da ih možete konzultirati U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.