Carbon, programmeringssproget, der har til formål at erstatte C++

Få dage siden afslørede en Google-medarbejder som er ved at udvikle et nyt programmeringssprog kaldet "Kul", at er placeret som en eksperimentel erstatning for C++, udvide dette sprog og eliminere eksisterende mangler.

Ifølge Carruths præsentation er sproget udviklet til at kunne skabe software, hvor ydeevne er kritisk. De ønskede også at give udviklere mulighed for at drage fordel af moderne programmeringssprogsdesign ved at bruge Carbon.

Nogle af de ting, der blev fremhævet som højdepunkter ved Carbon sammenlignet med C++, var f.eks. enklere syntaks og API-import. Ifølge Carruth skulle dette nye eksperimentelle sprog være tovejs interoperabelt med C++, hvilket betyder, at projekter skal kunne migrere fra et sprog til et andet uden større besvær.

Derudover er det et mål at videreudvikle sproget på en åben måde på internettet, hvor alle, der har lyst, kan bidrage med kildekode. Projektet er offentligt tilgængeligt på Github og er åben for pull anmodninger. 

Sproget understøtter grundlæggende C++-portabilitet, kan integreres med eksisterende C++-kode og giver værktøjer til at forenkle migreringen af ​​eksisterende projekter ved automatisk at oversætte C++-biblioteker til Carbon-kode.

For eksempel kan du omskrive et bestemt bibliotek i Carbon og bruge det i et eksisterende C++-projekt. Carbon compileren er skrevet ved hjælp af LLVM og Clang builds.

Af de vigtigste egenskaber ved Carbon, følgende skiller sig ud:

  • Ydeevnen af ​​den resulterende kode er sammenlignelig med C++, samtidig med at evnen til at få adgang til lavniveauadresser og bitniveaudata bevares.
  • Portabilitet med eksisterende C++-kode, inklusive klassearv og skabeloner.
  • Hurtig kompilering og mulighed for at integrere med eksisterende byggesystemer til C++.
  • Forenkle migration mellem forskellige versioner af Carbon.
  • Giver hukommelsessikre værktøjer, der beskytter mod sårbarheder forårsaget af adressering af et hukommelsesområde, efter at det er blevet frigivet, dereference nul-pointere og bufferoverløb.

Selvfølgelig har vi Rust som et foreslået alternativ til C og C++, men dette er egentlig ikke et udvidelsessprog, det er mere et fuldgyldigt sprog, lad os starte forfra. Carbon forsøger at være som Rust, mens den stadig er kompatibel med C++-verdenen, Nå, på sin Github-side står der:

  • C++-ydelsesmatchning ved hjælp af LLVM, med lavniveauadgang til bits og adresser
  • Interoperer med din eksisterende C++ kode, fra arv til skabeloner
  • Hurtige, skalerbare builds, der fungerer med dine eksisterende C++ build-systemer

Carbon hævdes at være nødvendig, fordi trinvis forbedring af C++ simpelthen ikke længere er mulig på grund af den historiske bagage, som den simpelthen ikke kan slippe af med. Personligt vil jeg gå videre og foreslå, at de trinvise "forbedringer" i C++ er en del af grunden til, at det i praksis er så stort et sprog.

"Der er altid nye sprog, der forsøger at være efterfølgere til C++. Jeg hilser eksperimenter med programmeringssprog og programmeringsstile velkommen, men jeg ønsker virkelig ikke at skabe kontroverser. Det er let at kritisere etablerede sprog (vi kender deres problemer), men det er normalt svært at tilbyde alternativer uden at skabe helt nye sæt problemer i sprogregler, biblioteker og forvaltning. Carbon er så nyt og underspecificeret, at jeg ikke rigtig kan komme med nogen meningsfulde tekniske kommentarer,” sagde C++-opfinderen Bjarne Stroustrup i en e-mail.

Mens Carbon startede som et internt Google-projekt, ønsker udviklingsteamet i sidste ende at reducere bidragene fra Google eller enhver anden individuel virksomhed til mindre end 50 % ved årets udgang. I sidste ende ønsker de at overdrage projektet til en uafhængig softwarefond, hvor udviklingen af ​​det vil blive udført af frivillige.

Endelig hvis du er interesseret i at vide mere om det du skal vide, at udviklingen af ​​projektet er distribueret under Apache 2.0-licensen, og du kan konsultere dem I det følgende link.


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.