Googles språk Carbon kan ersätta C++

Teknikchef
Verifierad expert
Varje artikel på Innowise är skriven av författare med praktisk erfarenhet. De har en förståelse för ämnet som sträcker sig bortom teorin och bidrar med insikter från verkliga projekt.
12+ års erfarenhet
Verifierad expert
12+ års erfarenhet
Dmitry är en visionär arkitekt som överbryggar klyftan mellan rå innovation och kommersiell genomförbarhet. Han övervakar företagets tekniska färdplan och ser till att varje lösning byggs på en stack som löser omedelbar affärssmärta.
Expertis
Full-stack utveckling Arkitektur Teknik
Låt oss prata
Sammanfatta artikeln med AI

Vid CPP North-konferensen tillkännagav Chandler Carruth, en huvudprogramvaruingenjör på Google, lanseringen av programmeringsspråket Carbon. Googles Carbon är ett experimentellt språk med öppen källkod som är tänkt att vara en efterföljare till C++, men inte en ersättare för det. I artikeln ska vi titta närmare på Carbon, dess mål, potential och skälen till varför C++ behöver en efterföljare.

Google's Carbon language.

Vad är det för fel på C++?

Enligt TIOBE-index för augusti 2022, rankas C++ som 4:e efter Python, C, och Java. Sedan 2001 har C++ aldrig sjunkit under 5:e plats, vilket indikerar den höga populariteten för detta programmeringsspråk trots sin ålder (först dök upp 1985). C++ har flera fördelar som är avgörande för utvecklingen av prestandakritisk programvara. Varför behövs en efterträdare?

Som Chandler Carruth förklarar är C++ inte tillräckligt bra för att uppnå språkets viktigaste mål. Dessa omfattar bland annat stöd för prestandakritisk programvara, enkel syntax, språkutveckling, moderna system och robust säkerhet. De specifika språkfunktionerna och byråkratiska frågorna hindrar C++ från att gradvis förbättras.

När det gäller språkets särdrag har C++ ackumulerat en stor teknisk skuld under hela sin utveckling. Dessutom har det ärvt många gamla funktioner från C-språket. Dessutom prioriterar C++-användare bakåtkompatibilitet för att stödja befintliga C/C++-ekosystem. Samtidigt gör bakåtkompatibilitet det inte möjligt att åtgärda den tekniska skulden, och därför gör C++ utvecklingsprocess det ännu svårare att genomföra förbättringar.

På tal om byråkratiska frågor: C++-förbättringsprocessen bromsas avsevärt av en kommitté (WG21) som fokuserar på standardisering men inte på design. WG21 använder sig av tröga vattenfallsprocesser som leder till att viktiga beslut försenas. Dessutom har kommittén begränsad tillgång till de flesta C++-experter och företräder endast vissa företag och nationer, utan att ta hänsyn till den stora C++-communityn.

Mål för Carbon programmeringsspråket

Som ett efterföljande språk har Carbon ärvt de ursprungliga målen för C++ och fått ytterligare ett.
Carbon language.
Baserat på en efterföljande språkstrategi fokuserar Carbon på 3 stora frågor som tar itu med de befintliga C++-utmaningarna och gör det möjligt för oss att överväga Carbon som ett lovande projekt: interoperabilitet, migration och språkutveckling. Med utgångspunkt i dessa punkter strävar Carbon-skapare efter att bli av med C++-teknisk skuld, hålla tillgång till befintliga ekosystem, säkerställa snabba förbättringar och undvika bakåtkompatibilitet med hjälp av verktygsbaserade uppgraderingar.

Vad är löften från Carbon?

Den information som finns tillgänglig för tillfället gör att vi kan betrakta kol som ett mycket lovande projekt. När det gäller den praktiska sidan av det nya programmeringsspråket hävdar Chandler Carruth att vi kan förvänta oss av Carbon en enklare grammatik, introducer-nyckelord (dvs. fn och var), ett definitionskontrollerat generiksystem och en brant inlärningskurva. Carbon kommer att ärva C:s höga prestanda och undvika dess stora nackdelar.

Dessutom säger Carbon-skapare att Carbon kommer att vara ett programmeringsspråk med öppen källkod och fullt interoperabelt med C++. Carbon kod är mycket lik C++-kod, och i många fall är de nästan identiska. Dessutom kan Carbon kod integreras i C++-kod. Så, C++-utvecklare som vill byta helt till Carbon kommer att ha en verktygslåda för att automatiskt transliteratera C++-bibliotek till kod på det nya språket. Omvänd migration är också möjlig. I framtiden kan dessa bibliotek användas i ett befintligt C++-projekt. Alla Carbon tools är värd på GitHub och distribueras under Apache 2.0-licensen. Hittills finns det en demo Carbon-tolk tillgänglig.

En viktig del av det experimentella Carbon projektet är styrningsstrukturen. Carbon-teamet styrs av principerna om inkludering och öppenhet. Styrningsstrukturen för Carbon är utformad för snabbt beslutsfattande, flexibilitet och snabb utveckling av projektet. Alla viktiga beslut fattas av Carbon leads, representerade av Chandler Carruth, Kate Gregory och Richard Smith för tillfället. Eftersom Carbon-projektet är baserat på open-source-utvecklingsmodellen kan varje användare skicka GitHub-förfrågningar för att föreslå projektets förändringar och driva Carbon-språkutvecklingen.

För närvarande arbetar Google-anställda med programmeringsspråket Carbon som ett internt projekt. Det är dock planerat att minska företagets engagemang i projektet, eftersom utvecklare förstår att för framtida framgång måste Carbon vara ett oberoende och samhällsdrivet projekt.

Resultat

Det är viktigt att förstå att Carbon är ett experimentellt projekt och det är för tidigt att entydigt säga att kol är en fullfjädrad efterträdare till C++. Enligt Carbon roadmap bör utvecklingen av de viktigaste språkkonstruktionerna vara klar i slutet av 2022, och det är exakt den tid då Carbon 0.1 ska släppas. Det kommer att ta tid att bedöma projektets framgång, men vi kan redan prata om de höga utsikterna för programmeringsspråket Carbon som efterträdare till C++ baserat på de tillkännagivna funktionerna och utvecklingsprinciperna.

Innehållsförteckning

Betygsätt den här artikeln:

★★★★★ 4/5

4,8/5 (45 recensioner)

    Kontakta oss

    Boka ett samtal eller fyll i formuläret nedan så återkommer vi till dig när vi har behandlat din förfrågan.

    Skicka ett röstmeddelande till oss
    Bifoga dokument
    Ladda upp filen

    Du kan bifoga 1 fil på upp till 2 MB. Giltiga filformat: pdf, jpg, jpeg, png.

    Genom att klicka på Skicka samtycker du till att Innowise behandlar dina personuppgifter enligt vår integritetspolicy för att förse dig med relevant information. Genom att lämna ditt telefonnummer samtycker du till att vi kan kontakta dig via röstsamtal, SMS och meddelandeappar. Samtals-, meddelande- och datataxor kan gälla.

    Du kan också skicka din förfrågan till oss

    på contact@innowise.com
    Vad händer härnäst?
    1

    När vi har tagit emot och behandlat din förfrågan återkommer vi till dig för att diskutera dina projektbehov och underteckna ett sekretessavtal (NDA).

    2

    Efter att ha undersökt dina önskemål, behov och förväntningar kommer vårt team att ta fram ett projektförslag med arbetsomfattning, teamstorlek, tids- och kostnadsberäkningar.

    3

    Vi ordnar ett möte med dig för att diskutera erbjudandet och fastställa detaljerna.

    4

    Slutligen undertecknar vi ett kontrakt och börjar arbeta med ditt projekt direkt.

    Fler tjänster vi täcker

    arrow