Carbon, programmeringsspråket som har som mål å erstatte C++

Noen dager siden en Google-ansatt avslørt som utvikler et nytt programmeringsspråk kalt "Kull", que er posisjonert som en eksperimentell erstatning for C++, utvide dette språket og eliminere eksisterende mangler.

I følge Carruths presentasjon er språket utviklet for å kunne lage programvare der ytelsen er kritisk. De ønsket også å la utviklere dra nytte av moderne programmeringsspråkdesign ved å bruke Carbon.

Noen av tingene som ble fremhevet som høydepunkter ved Carbon sammenlignet med C++ var f.eks. enklere syntaks og API-import. Ifølge Carruth skal dette nye eksperimentelle språket være toveis interoperabelt med C++, noe som betyr at prosjekter skal kunne migrere fra ett språk til et annet uten store problemer.

I tillegg er det et mål å videreutvikle språket på en åpen måte på Internett, hvor alle som vil kan bidra med kildekode. Prosjektet er offentlig tilgjengelig på Github og er åpen for pull forespørsler. 

Språket støtter grunnleggende C++-portabilitet, kan integreres med eksisterende C++-kode, og gir verktøy for å forenkle migreringen av eksisterende prosjekter ved automatisk å oversette C++-biblioteker til Carbon-kode.

For eksempel kan du skrive om et bestemt bibliotek i Carbon og bruke det i et eksisterende C++-prosjekt. Carbon-kompilatoren er skrevet ved hjelp av LLVM- og Clang-bygg.

Av de viktigste egenskapene til Carbon, følgende skiller seg ut:

  • Ytelsen til den resulterende koden er sammenlignbar med C++, samtidig som muligheten til å få tilgang til lavnivåadresser og bitnivådata opprettholdes.
  • Portabilitet med eksisterende C++-kode, inkludert klassearv og maler.
  • Rask kompilering og mulighet til å integrere med eksisterende byggesystemer for C++.
  • Forenkle migrering mellom ulike versjoner av Carbon.
  • Gir minnesikre verktøy som beskytter mot sårbarheter forårsaket av adressering av et minneområde etter at det har blitt frigjort, derefererer null-pekere og bufferoverløp.

Selvfølgelig har vi Rust som et foreslått alternativ til C og C++, men dette er egentlig ikke et utvidelsesspråk, det er mer et fullverdig språk, la oss starte på nytt. Carbon prøver å være som Rust mens den fortsatt er kompatibel med C++-verdenen, Vel, på Github-siden står det:

  • C++ ytelsesmatching ved bruk av LLVM, med tilgang på lavt nivå til biter og adresser
  • Samarbeid med din eksisterende C++-kode, fra arv til maler
  • Raske, skalerbare bygg som fungerer med dine eksisterende C++ byggesystemer

Karbon hevdes å være nødvendig fordi inkrementell forbedring av C++ rett og slett ikke er mulig lenger på grunn av den historiske bagasjen som den rett og slett ikke kan bli kvitt. Personlig vil jeg gå videre og foreslå at de inkrementelle "forbedringene" i C++ er en del av grunnen til at det er et så stort språk i praksis.

"Det er alltid nye språk som prøver å være etterfølgerne til C++. Jeg ønsker eksperimenter med programmeringsspråk og programmeringsstiler velkommen, men jeg vil virkelig ikke vekke kontroverser. Det er lett å kritisere etablerte språk (vi kjenner problemene deres), men det er vanligvis vanskelig å tilby alternativer uten å skape helt nye sett med problemer i språkregler, biblioteker og styresett. Karbon er så nytt og underspesifisert at jeg egentlig ikke kan komme med noen meningsfulle tekniske kommentarer,” sa C++-oppfinner Bjarne Stroustrup i en e-post.

Mens Carbon startet som et internt Google-prosjekt, ønsker utviklingsteamet til syvende og sist å redusere bidragene fra Google, eller et hvilket som helst annet enkeltselskap, til mindre enn 50 % innen utgangen av året. Til syvende og sist ønsker de å overlate prosjektet til en uavhengig programvarestiftelse, hvor utviklingen vil bli utført av frivillige.

Endelig hvis du er interessert i å vite mer om det du bør vite at utviklingen av prosjektet er distribuert under Apache 2.0-lisensen, og du kan konsultere dem I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.