Carbon, ohjelmointikieli, jonka tarkoituksena on korvata C++

Muutama päivä sitten Googlen työntekijä paljasti joka kehittää uutta ohjelmointikieltä nimeltä "hiili", että on sijoitettu C++:n kokeelliseksi korvaajaksi, laajentamalla tätä kieltä ja poistamalla olemassa olevia puutteita.

Carruthin esityksen mukaan kieli kehitettiin pystymään luomaan ohjelmistoja, joissa suorituskyky on kriittinen. He halusivat myös antaa kehittäjille mahdollisuuden hyödyntää nykyaikaista ohjelmointikielisuunnittelua käyttämällä Carbonia.

Jotkut Carbonin kohokohtina C++:aan verrattuna korostetuista asioista olivat mm. yksinkertaisempi syntaksi ja API-tuonti. Carruthin mukaan tämän uuden kokeellisen kielen pitäisi olla kaksisuuntaisesti yhteentoimiva C++:n kanssa, mikä tarkoittaa, että projektien pitäisi pystyä siirtymään kielestä toiseen ilman suurempia vaikeuksia.

Lisäksi tavoitteena on kehittää kieltä edelleen avoimesti Internetissä, johon kuka tahansa halukas voi osallistua lähdekoodiin. Projekti on julkisesti saatavilla Githubissa ja on avoinna vedä pyyntöjä. 

Kieli tukee perus C++ -kannettavuutta, voi integroitua olemassa olevaan C++-koodiin ja tarjoaa työkaluja olemassa olevien projektien siirtämisen yksinkertaistamiseksi kääntämällä C++-kirjastot automaattisesti hiilikoodiksi.

Voit esimerkiksi kirjoittaa tietyn kirjaston uudelleen Carbonissa ja käyttää sitä olemassa olevassa C++-projektissa. Carbon-kääntäjä on kirjoitettu käyttämällä LLVM- ja Clang-koontiversioita.

Hiilen tärkeimmistä ominaisuuksista, seuraavat erottuvat:

  • Tuloksena olevan koodin suorituskyky on verrattavissa C++:aan, samalla kun se säilyttää kyvyn käyttää matalan tason osoitteita ja bittitason tietoja.
  • Siirrettävyys olemassa olevan C++-koodin kanssa, mukaan lukien luokan periytyminen ja mallit.
  • Nopea käännös ja kyky integroida olemassa oleviin C++:n rakennusjärjestelmiin.
  • Yksinkertaista siirtymistä eri Carbon-versioiden välillä.
  • Tarjoaa muistia kestävät työkalut, jotka suojaavat haavoittuvuuksilta, jotka aiheutuvat muistialueen osoittamisesta sen vapauttamisen jälkeen, nollaosoittimien viittauksen poistamisesta ja puskurin ylivuodoista.

Tietysti meillä on Rust ehdotettu vaihtoehto C:lle ja C++:lle, mutta tämä ei ole varsinainen laajennuskieli, se on enemmänkin täysi kieli, aloitetaan alusta. Carbon yrittää olla kuin Rust, mutta on silti yhteensopiva C++:n kanssa, No, sen Github-sivulla lukee:

  • C++-suorituskykysovitus LLVM:llä, matalan tason pääsy bitteihin ja osoitteisiin
  • Toimi yhteen nykyisen C++-koodisi kanssa perinnöstä malleihin
  • Nopeat, skaalautuvat koontiversiot, jotka toimivat olemassa olevien C++-koontijärjestelmien kanssa

Hiilen väitetään olevan välttämätön, koska C++:n asteittainen parantaminen ei yksinkertaisesti ole enää mahdollista historiallisen matkatavaran vuoksi, josta se ei yksinkertaisesti voi päästä eroon. Henkilökohtaisesti menisin pidemmälle ja ehdotan, että C++:n asteittaiset "parannukset" ovat osa sitä, miksi se on käytännössä niin laaja kieli.

"Aina tulee uusia kieliä, jotka yrittävät olla C++:n seuraajia. Olen tyytyväinen ohjelmointikielien ja ohjelmointityylien kokeiluihin, mutta en todellakaan halua herättää kiistoja. Vakiintuneita kieliä on helppo kritisoida (tiedämme niiden ongelmat), mutta yleensä on vaikeaa tarjota vaihtoehtoja luomatta kokonaan uusia ongelmia kielisäännöissä, kirjastoissa ja hallinnossa. Hiili on niin uutta ja alimääriteltyä, että en todellakaan voi antaa merkityksellisiä teknisiä kommentteja”, C++:n keksijä Bjarne Stroustrup sanoi sähköpostissa.

Vaikka Carbon aloitti Googlen sisäisenä projektina, kehitystiimi haluaa viime kädessä vähentää Googlen tai minkä tahansa muun yksittäisen yrityksen lahjoituksia alle 50 prosenttiin vuoden loppuun mennessä. Lopulta projekti halutaan luovuttaa itsenäiselle ohjelmistosäätiölle, jossa sen kehittäminen tehdään vapaaehtoisvoimin.

Vihdoin jos olet kiinnostunut tietämään siitä lisää sinun pitäisi tietää, että projektin kehitystyöt jaetaan Apache 2.0 -lisenssillä ja voit tutustua niihin Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.