Carbon, gjuha e programimit që synon të zëvendësojë C++

Pak ditë më parë zbuloi një punonjës i Google i cili po zhvillon një gjuhë të re programimi të quajtur "Qymyri", pozicionohet si një zëvendësim eksperimental për C++, zgjerimin e kësaj gjuhe dhe eliminimin e mangësive ekzistuese.

Sipas prezantimit të Carruth, gjuha u zhvillua për të qenë në gjendje të krijojë softuer ku performanca është kritike. Ata gjithashtu donin të lejonin zhvilluesit të përfitonin nga dizajni modern i gjuhës së programimit duke përdorur Carbon.

Disa nga gjërat e theksuara si pika kryesore të Karbonit në krahasim me C++ ishin, për shembull, sintaksë më të thjeshtë dhe importe API. Sipas Carruth, kjo gjuhë e re eksperimentale duhet të jetë e ndërveprueshme në mënyrë të dyanshme me C++, që do të thotë se projektet duhet të jenë në gjendje të migrojnë nga një gjuhë në tjetrën pa shumë vështirësi.

Përveç kësaj, është një synim për të zhvilluar më tej gjuhën në mënyrë të hapur në internet, ku kushdo që dëshiron mund të kontribuojë me kodin burimor. Projekti është i disponueshëm publikisht në Github dhe është e hapur për kërkesa për tërheqje. 

Gjuha mbështet transportueshmërinë bazë të C++, mund të integrohet me kodin ekzistues C++ dhe ofron mjete për të thjeshtuar migrimin e projekteve ekzistuese duke përkthyer automatikisht bibliotekat C++ në kodin Carbon.

Për shembull, ju mund të rishkruani një bibliotekë të caktuar në Carbon dhe ta përdorni atë në një projekt ekzistues C++. Përpiluesi i karbonit është shkruar duke përdorur ndërtime LLVM dhe Clang.

Nga karakteristikat kryesore të karbonit, bien në sy:

  • Performanca e kodit që rezulton është e krahasueshme me C++, duke ruajtur aftësinë për të aksesuar adresat e nivelit të ulët dhe të dhënat e nivelit bit.
  • Transportueshmëri me kodin ekzistues C++, duke përfshirë trashëgiminë e klasës dhe shabllonet.
  • Kompilim i shpejtë dhe aftësi për t'u integruar me sistemet ekzistuese të ndërtimit për C++.
  • Thjeshtoni migrimin midis versioneve të ndryshme të karbonit.
  • Ofron mjete të sigurta për memorie që mbrojnë nga dobësitë e shkaktuara nga adresimi i një zone të memories pasi të jetë liruar, çreferencimi i treguesve null dhe tejmbushjet e buferit.

Sigurisht që ne kemi Rust si një alternativë të propozuar për C dhe C++, por kjo nuk është në të vërtetë një gjuhë shtesë, është më shumë një gjuhë e plotë, le të fillojmë përsëri. Karboni po përpiqet të jetë si Rust duke qenë ende i pajtueshëm me botën e C++, Epo, në faqen e saj Github thotë:

  • Përputhja e performancës C++ duke përdorur LLVM, me akses të nivelit të ulët në bit dhe adresa
  • Ndërveproni me kodin tuaj ekzistues C++, nga trashëgimia te shabllonet
  • Ndërtime të shpejta dhe të shkallëzueshme që funksionojnë me sistemet tuaja ekzistuese të ndërtimit të C++

Thuhet se karboni është i nevojshëm sepse përmirësimi në rritje i C++ thjesht nuk është më i mundur për shkak të bagazhit historik që ai thjesht nuk mund ta heqë qafe. Personalisht, do të shkoja më tej dhe do të sugjeroja që "përmirësimet" në rritje në C++ janë pjesë e arsyes pse është një gjuhë kaq e madhe në praktikë.

“Gjithmonë ka gjuhë të reja që përpiqen të jenë pasardhës të C++. I mirëpres eksperimentet me gjuhët e programimit dhe stilet e programimit, por me të vërtetë nuk dua të ngjall polemika. Është e lehtë të kritikosh gjuhët e njohura (ne i dimë problemet e tyre), por zakonisht është e vështirë të ofrosh alternativa pa krijuar grupe krejtësisht të reja problemesh në rregullat e gjuhës, bibliotekat dhe qeverisjen. Karboni është aq i ri dhe i nënspecifikuar saqë nuk mund të bëj ndonjë koment teknik kuptimplotë, "tha në një email shpikësi i C++ Bjarne Stroustrup.

Ndërsa Carbon filloi si një projekt i brendshëm i Google, ekipi i zhvillimit në fund të fundit dëshiron të reduktojë kontributet nga Google, ose ndonjë kompani tjetër individuale, në më pak se 50% deri në fund të vitit. Në fund të fundit, ata duan t'ia dorëzojnë projektin një fondacioni të pavarur softuerësh, ku zhvillimi i tij do të kryhet nga vullnetarë.

Më në fund nëse jeni të interesuar të dini më shumë për të duhet të dini se zhvillimet e projektit shpërndahen nën licencën Apache 2.0 dhe ju mund t'i konsultoni ato Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.