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

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.
Googles kolspråk

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?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 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.
Kolspråk
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.
Tack för ditt betyg!
Tack för din kommentar!

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åra 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 oss din förfrågan

    .till 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 beskriva dina projektbehov och undertecknar en NDA för att säkerställa sekretess.

    2

    Efter att ha undersökt dina önskemål, behov och förväntningar tar vårt team 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

    pil