Googles Carbon-språk kan erstatte C++

Summarize article with AI
På CPP North-konferansen kunngjorde Chandler Carruth, en ledende programvareingeniør hos Google, lanseringen av programmeringsspråket Carbon. Googles Carbon er et eksperimentelt åpen kildekode-språk som er ment å være etterfølgeren til C++, men ikke dets erstatning. I artikkelen ser vi nærmere på Carbon, dets mål, potensial og årsakene til at C++ trenger en etterfølger.
Google's Carbon language

Hva er galt med C++?

According to the TIOBE-indeksen for august 2022C++ ligger på 4. plass etterPython, C ogJava. Siden 2001 har C++ aldri falt under 5. plass, noe som indikerer den høye populariteten til dette programmeringsspråket til tross for dets alder (først dukket opp i 1985). C++ har flere fordeler som er avgjørende for utviklingen av ytelseskritisk programvare. Så hvorfor trenger det en etterfølger?As explained by Chandler Carruth, C++ falls short of the achievement of the language’s major goals. They include the support of performance-critical software, simple syntax, language evolution, modern systems, and robust safety among others. The specific language features and bureaucratic issues prevent C++ from gradual improvement.As for language peculiarities, C++ has accumulated high technical debt throughout its evolution. Moreover, it has inherited many legacy features from the C language. Besides, C++ users prioritize backwards compatibility to support existing C/C++ ecosystems. At the same time, backwards compatibility doesn’t allow for fixing the technical debt, hence the C++ evolution process makes it even more difficult for improvements to get implemented.Speaking of bureaucratic issues, the process of C++ improvement is significantly slowed down by a committee (WG21) focused on standardization but not design. WG21 employs sluggish waterfall processes that lead to delays in making crucial decisions. Moreover, the committee has restricted access to most C++ experts and only represents certain companies and nations, ignoring the large C++ community.

Mål for programmeringsspråket Carbon

As a successor language, Carbon has inherited the opprinnelige mål for C++og fikk en ekstra.
Carbon language
Basert på en tilnærming til et etterfølgerspråk fokuserer Carbon på tre hovedspørsmål som tar opp de eksisterende C++-utfordringene og gjør at vi kan betrakte Carbon som et lovende prosjekt: interoperabilitet, migrering og språkutvikling. Med utgangspunkt i disse punktene streber Carbon-skaperne etter å bli kvitt den tekniske gjelden i C++, beholde tilgangen til eksisterende økosystemer, sikre raske forbedringer og unngå bakoverkompatibilitet ved hjelp av verktøybaserte oppgraderinger.

Hva er løftene med Carbon?

The information available at the moment allows us to consider Carbon as a very promising project. As for the practical side of the new programming language, Chandler Carruth claims that we can expect from Carbon a simpler grammar, introducer keywords (i.e. fn and var), a definition-checked generics system, and a steep learning curve. Carbon will inherit C’s high performance and avoid its major drawbacks.

I tillegg sier Carbon-skaperne at Carbon vil være et programmeringsspråk med åpen kildekode og fullt kompatibelt med C++. Carbon-kode er veldig lik C++-kode, og i mange tilfeller er de nesten identiske. Dessuten kan Carbon-kode integreres i C++-kode. Så C++-utviklere som ønsker å bytte fullt ut til Carbon, vil ha en verktøykasse for automatisk å oversette C++-biblioteker til kode i det nye språket. Omvendt migrering er også mulig. I fremtiden kan disse bibliotekene brukes i et eksisterende C++-prosjekt. Alle Carbon-verktøyene ligger på GitHub og distribueres under Apache 2.0-lisensen. Så langt er deten demo Carbon-tolktilgjengelig.

En viktig del av det eksperimentelle Carbon-prosjektet er styringsstrukturen. Carbon-teamet styres av prinsippene om inkludering og åpenhet. Styringsstrukturen i Carbon er utformet for rask beslutningstaking, fleksibilitet og rask utvikling av prosjektet. Alle viktige beslutninger tas av Carbon-lederne, for øyeblikket representert ved Chandler Carruth, Kate Gregory og Richard Smith. Siden Carbon-prosjektet er basert på en utviklingsmodell med åpen kildekode, kan alle brukere sende GitHub-forespørsler for å foreslå endringer i prosjektet og drive utviklingen av Carbon-språket.

For øyeblikket jobber Google-ansatte med programmeringsspråket Carbon som et internt prosjekt. Det er imidlertid planlagt å redusere selskapets engasjement i prosjektet, siden utviklerne forstår at Carbon må være et uavhengig og samfunnsdrevet prosjekt for å lykkes i fremtiden.

Bunnlinjen

Det er viktig å forstå at Carbon er et eksperimentelt prosjekt, og det er for tidlig å si entydig at Carbon er en fullverdig etterfølger til C++. I henhold til Carbon-veikartet skal utviklingen av de viktigste språkkonstruksjonene være fullført innen utgangen av 2022, og dette er nøyaktig tidspunktet da Carbon 0.1 skal utgis. Det vil ta tid å vurdere suksessen til prosjektet, men vi kan allerede snakke om de store utsiktene til Carbon-programmeringsspråket som etterfølgeren til C ++ basert på de annonserte funksjonene og prinsippene for utvikling.
Takk for din vurdering!
Takk for din kommentar!

Innholdsfortegnelse

Ranger denne artikkelen:

4/5

4.8/5 (45 anmeldelser)

    Kontakt oss

    Bestill en samtale eller fyll ut skjemaet nedenfor, så vil vi kontakte deg så snart vi har behandlet forespørselen din.

    Send oss en talemelding
    Legg ved dokumenter
    Last opp fil

    Du kan legge ved én fil opptil 2MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved å klikke Send, samtykker du til at Innowise behandler dine personopplysninger i henhold til vår Personvernerklæring for å gi deg relevant informasjon. Ved å oppgi telefonnummeret ditt, godtar du at vi kan kontakte deg via talesamtaler, SMS og meldingsapper. Samtale-, meldings- og datakostnader kan påløpe.

    Du kan også sende oss forespørselen din
    til contact@innowise.com
    Hva skjer videre?
    1

    Når vi har mottatt og behandlet forespørselen din, vil vi kontakte deg for å diskutere prosjektbehovene dine og signere en NDA for å sikre konfidensialitet.

    2

    Etter å ha undersøkt dine ønsker, behov og forventninger, vil teamet vårt utarbeide et prosjektforslag med omfang av arbeid, teamstørrelse, tids- og kostnadsestimater.

    3

    Vi vil arrangere et møte med deg for å diskutere tilbudet og fastsette detaljene.

    4

    Til slutt vil vi signere en kontrakt og starte arbeidet med prosjektet ditt umiddelbart.

    More services we cover

    arrow