Googlen Carbon-kieli saattaa korvata C++:n

Googlen johtava ohjelmistosuunnittelija Chandler Carruth ilmoitti CPP North -konferenssissa Carbon-ohjelmointikielen julkaisusta. Googlen Carbon on kokeellinen avoimen lähdekoodin kieli, jonka on tarkoitus olla pikemminkin C++:n seuraaja, mutta ei sen korvaaja. Artikkelissa tutustumme Carboniin, sen tavoitteisiin, mahdollisuuksiin ja syihin, miksi C++ tarvitsee seuraajan.
Googlen hiilen kieli

Mikä C++:ssa on vikana?

Mukaan TIOBE-indeksi elokuussa 2022, C++ on 4. sijalla Python, C ja Java. Vuodesta 2001 lähtien C++ ei ole koskaan pudonnut viidennen sijan alapuolelle, mikä osoittaa tämän ohjelmointikielen suuren suosion iästään huolimatta (ilmestyi ensimmäisen kerran vuonna 1985). C++:lla on useita etuja, jotka ovat ratkaisevia suorituskykykriittisten ohjelmistojen kehittämisen kannalta. Miksi se siis tarvitsee seuraajan?Kuten Chandler Carruth selittää, C++ ei ole saavuttanut kielen tärkeimpiä tavoitteita. Niitä ovat muun muassa suorituskykykriittisten ohjelmistojen tukeminen, yksinkertainen syntaksi, kielen kehitys, nykyaikaiset järjestelmät ja vankka turvallisuus. Kielen erityispiirteet ja byrokraattiset kysymykset estävät C++:n asteittaisen parantamisen.Mitä tulee kielen erityispiirteisiin, C++-kielelle on kertynyt paljon teknistä velkaa koko sen kehityksen ajan. Lisäksi se on perinyt C-kielestä monia perintöominaisuuksia. Lisäksi C++-kielen käyttäjät pitävät ensisijaisena yhteensopivuutta taaksepäin, jotta he voivat tukea olemassa olevia C/C++-ekosysteemejä. Samaan aikaan taaksepäin yhteensopivuus ei mahdollista teknisen velan korjaamista, joten C++:n kehitysprosessi vaikeuttaa parannusten toteuttamista entisestään.Byrokraattisista kysymyksistä puheen ollen, C++:n parannusprosessia hidastaa merkittävästi komitea (WG21), joka keskittyy standardointiin mutta ei suunnitteluun. WG21 käyttää hitaita vesiputousprosesseja, jotka viivästyttävät ratkaisevien päätösten tekemistä. Lisäksi komitealla on rajoitettu pääsy useimmille C++-asiantuntijoille, ja se edustaa vain tiettyjä yrityksiä ja kansakuntia, jolloin suuri C++-yhteisö jää huomiotta.

Carbon-ohjelmointikielen tavoitteet

Seuraavana kielenä Carbon on periytynyt Carbonin C++:n alkuperäiset tavoitteet ja sai vielä yhden.
Hiilen kieli
Carbonissa keskitytään kolmeen tärkeään asiaan, jotka vastaavat nykyisiin C++:n haasteisiin ja joiden perusteella Carbon on lupaava hanke: yhteentoimivuus, siirtyminen ja kielen kehitys. Näihin seikkoihin tukeutuen Carbonin tekijät pyrkivät pääsemään eroon C++:n teknisestä velasta, säilyttämään pääsyn olemassa oleviin ekosysteemeihin, varmistamaan nopeat parannukset ja välttämään taaksepäin yhteensopivuutta käyttämällä työkalupohjaisia päivityksiä.

Mitkä ovat hiilen lupaukset?

Tällä hetkellä käytettävissä olevien tietojen perusteella voimme pitää Carbon-hanketta erittäin lupaavana. Mitä tulee uuden ohjelmointikielen käytännön puoleen, Chandler Carruth väittää, että voimme odottaa Carbonilta yksinkertaisempaa kielioppia, avainsanoja (esim. fn ja var), määrittelytarkastettua geneeristä järjestelmää ja jyrkkää oppimiskäyrää. Carbon perii C:n korkean suorituskyvyn ja välttää sen suurimmat puutteet.

Lisäksi Carbonin luojien mukaan Carbon on avoimen lähdekoodin ohjelmointikieli ja täysin yhteensopiva C++:n kanssa. Carbon-koodi on hyvin samankaltaista kuin C++-koodi, ja monissa tapauksissa ne ovat lähes identtisiä. Lisäksi Carbon-koodi voidaan integroida C++-koodiin. C++-kehittäjät, jotka haluavat siirtyä kokonaan Carboniin, saavat siis työkalupakin, jolla C++-kirjastot voidaan automaattisesti muuntaa uuden kielen koodiksi. Myös käänteinen siirtyminen on mahdollista. Tulevaisuudessa näitä kirjastoja voidaan käyttää olemassa olevassa C+-projektissa. Kaikki Carbon-työkalut ovat GitHubissa, ja niitä jaetaan Apache 2.0 -lisenssillä. Toistaiseksi on olemassa demo Carbon-tulkki saatavilla.

Tärkeä osa kokeellista hiilihanketta on hallintorakenne. Carbon-tiimiä ohjaavat osallistavuuden ja avoimuuden periaatteet. Carbonin hallintorakenne on suunniteltu nopeaa päätöksentekoa, joustavuutta ja hankkeen nopeaa kehittämistä varten. Kaikki ratkaisevat päätökset tekevät Carbonin johtajat, joita tällä hetkellä edustavat Chandler Carruth, Kate Gregory ja Richard Smith. Koska Carbon-projekti perustuu avoimen lähdekoodin kehitysmalliin, jokainen käyttäjä voi lähettää GitHub-pyyntöjä ehdottaakseen projektin muutoksia ja viedäkseen Carbon-kielen kehitystä eteenpäin.

Tällä hetkellä Googlen työntekijät työskentelevät Carbon-ohjelmointikielen parissa sisäisenä projektina. Suunnitelmissa on kuitenkin vähentää yrityksen osallistumista projektiin, sillä kehittäjät ymmärtävät, että tulevan menestyksen kannalta Carbonin on oltava itsenäinen ja yhteisölähtöinen projekti.

Lopputulos

On tärkeää ymmärtää, että Carbon on kokeiluhanke, ja on liian aikaista sanoa yksiselitteisesti, että Carbon on C++:n täysimittainen seuraaja. Carbonin etenemissuunnitelman mukaan kielen pääkonstruktioiden kehittämisen pitäisi olla valmis vuoden 2022 loppuun mennessä, ja juuri silloin Carbon 0.1 pitäisi julkaista. Hankkeen onnistumisen arviointi vie aikaa, mutta jo nyt voidaan puhua Carbon-ohjelmointikielen hyvistä näkymistä C++:n seuraajana julkistettujen ominaisuuksien ja kehitysperiaatteiden perusteella.
Kiitos arvostelusta!
Kiitos kommentista!

Sisällysluettelo

Arvioi tämä artikkeli:

4/5

4.8/5 (45 arvostelua)

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli