Googles Carbon-sprog kan erstatte C++

På CPP North-konferencen annoncerede Chandler Carruth, en ledende softwareingeniør hos Google, udgivelsen af programmeringssproget Carbon. Googles Carbon er et eksperimentelt open source-sprog, som er tænkt som en efterfølger til C++, men ikke som en erstatning. I artiklen ser vi nærmere på Carbon, dets mål, potentiale og grundene til, at C++ har brug for en efterfølger.
Googles carbon-sprog

Hvad er der galt med C++?

I henhold til TIOBE-indeks for august 2022C++ ligger på 4. pladsen efter Python, C, og Java. Siden 2001 er C++ aldrig faldet under 5. pladsen, hvilket viser, at dette programmeringssprog er meget populært på trods af dets alder (første gang i 1985). C++ har mange fordele, som er afgørende for udviklingen af performance-kritisk software. Så hvorfor har det brug for en efterfølger?Som forklaret af Chandler Carruth er C++ ikke i stand til at nå sprogets vigtigste mål. De omfatter blandt andet understøttelse af performance-kritisk software, enkel syntaks, sprogudvikling, moderne systemer og robust sikkerhed. De specifikke sprogfunktioner og bureaukratiske problemer forhindrer C++ i at blive gradvist forbedret.Hvad angår sprogets særegenheder, har C++ akkumuleret en høj teknisk gæld gennem hele sin udvikling. Desuden har det arvet mange ældre funktioner fra C-sproget. Desuden prioriterer C++-brugere bagudkompatibilitet for at understøtte eksisterende C/C++-økosystemer. Samtidig giver bagudkompatibilitet ikke mulighed for at rette op på den tekniske gæld, og derfor gør C++'s udviklingsproces det endnu sværere for forbedringer at blive implementeret.Når vi taler om bureaukratiske problemer, bliver processen med at forbedre C++ bremset betydeligt af et udvalg (WG21), der fokuserer på standardisering, men ikke på design. WG21 anvender langsomme vandfaldsprocesser, der fører til forsinkelser i vigtige beslutninger. Desuden har udvalget begrænset adgang til de fleste C++-eksperter og repræsenterer kun visse virksomheder og nationer og ignorerer det store C++-samfund.

Mål for programmeringssproget Carbon

Som et efterfølgersprog har Carbon arvet oprindelige mål for C++ og fik en ekstra.
Carbon-sprog
Baseret på en tilgang til efterfølgersprog fokuserer Carbon på tre store emner, der adresserer de eksisterende C++-udfordringer og giver os mulighed for at betragte Carbon som et lovende projekt: interoperabilitet, migration og sprogudvikling. Med udgangspunkt i disse punkter stræber Carbon-skaberne efter at slippe af med C++'s tekniske gæld, bevare adgangen til eksisterende økosystemer, sikre hurtige forbedringer og undgå bagudkompatibilitet ved hjælp af værktøjsbaserede opgraderinger.

Hvad er løfterne fra Carbon?

De oplysninger, der er tilgængelige i øjeblikket, giver os mulighed for at betragte Carbon som et meget lovende projekt. Hvad angår den praktiske side af det nye programmeringssprog, hævder Chandler Carruth, at vi fra Carbon kan forvente en enklere grammatik, introducerende nøgleord (dvs. fn og var), et definitionskontrolleret generisk system og en stejl indlæringskurve. Carbon vil arve C's høje ydeevne og undgå de største ulemper.

Derudover siger Carbon-skaberne, at Carbon vil være et open source-programmeringssprog og fuldt interoperabelt med C++. Carbon-kode minder meget om C++-kode, og i mange tilfælde er de næsten identiske. Desuden kan Carbon-kode integreres i C++-kode. Så C++-udviklere, der ønsker at skifte helt til Carbon, vil have et værktøjssæt til automatisk at omskrive C++-biblioteker til kode i det nye sprog. Omvendt migration er også mulig. I fremtiden kan disse biblioteker bruges i et eksisterende C++-projekt. Alle Carbon-værktøjer findes på GitHub og distribueres under Apache 2.0-licensen. Indtil videre er der en demo-kulørtolk tilgængelig.

En vigtig del af det eksperimentelle Carbon-projekt er ledelsesstrukturen. Carbon-teamet er styret af principperne om inklusion og åbenhed. Styringsstrukturen i Carbon er designet til hurtig beslutningstagning, fleksibilitet og hurtig udvikling af projektet. Alle vigtige beslutninger træffes af Carbon-ledere, som i øjeblikket repræsenteres af Chandler Carruth, Kate Gregory og Richard Smith. Da Carbon-projektet er baseret på open source-udviklingsmodellen, kan alle brugere sende GitHub-anmodninger for at foreslå projektændringer og drive udviklingen af Carbon-sproget.

I øjeblikket arbejder Google-medarbejdere på programmeringssproget Carbon som et internt projekt. Det er dog planen at reducere virksomhedens engagement i projektet, da udviklerne forstår, at Carbon skal være et uafhængigt og fællesskabsdrevet projekt for at få succes i fremtiden.

Den nederste linje

Det er vigtigt at forstå, at Carbon er et eksperimentelt projekt, og det er for tidligt at sige entydigt, at Carbon er en fuldgyldig efterfølger til C++. Ifølge Carbon-køreplanen skal udviklingen af de vigtigste sprogkonstruktioner være afsluttet ved udgangen af 2022, og det er præcis det tidspunkt, hvor Carbon 0.1 skal udgives. Det vil tage tid at vurdere projektets succes, men vi kan allerede nu tale om de store udsigter for programmeringssproget Carbon som efterfølger til C++ baseret på de annoncerede funktioner og udviklingsprincipper.
Tak for din bedømmelse!
Tak for din kommentar!

Indholdsfortegnelse

Bedøm denne artikel:

4/5

4.8/5 (45 anmeldelser)

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil