Carbon, a programozási nyelv, amelynek célja a C++ helyettesítése

Pár napja – árulta el a Google egyik alkalmazottja aki egy új programozási nyelvet fejleszt "Szén", hogy a C++ kísérleti helyettesítőjeként van elhelyezve, bővítve ezt a nyelvet és kiküszöbölve a meglévő hiányosságokat.

Carruth előadása szerint a nyelvet azért fejlesztették ki, hogy olyan szoftvereket tudjon létrehozni, ahol a teljesítmény kritikus. Azt is lehetővé akarták tenni a fejlesztők számára, hogy a Carbon használatával kihasználják a modern programozási nyelvek tervezését.

A Carbon kiemelése a C++-hoz képest néhány dolog, például: egyszerűbb szintaxis és API importálás. Carruth szerint ennek az új kísérleti nyelvnek kétirányú interoperábilisnak kell lennie a C++-szal, ami azt jelenti, hogy a projekteknek különösebb nehézség nélkül át kell tudniuk vándorolni egyik nyelvről a másikra.

Emellett cél a nyelv továbbfejlesztése nyílt formában az interneten, ahol forráskóddal bárki hozzájárulhat, aki akar. A projekt nyilvánosan elérhető a Githubon és nyitva van pull kérések. 

A nyelv támogatja az alapvető C++ hordozhatóságot, integrálható a meglévő C++ kóddal, és eszközöket biztosít a meglévő projektek áttelepítésének egyszerűsítésére a C++ könyvtárak Carbon kódra való automatikus fordításával.

Például átírhat egy bizonyos könyvtárat a Carbonban, és használhatja egy meglévő C++ projektben. A Carbon fordító LLVM és Clang buildekkel íródott.

A szén főbb jellemzőiről, a következők emelkednek ki:

  • Az eredményül kapott kód teljesítménye a C++-hoz hasonlítható, miközben megőrzi az alacsony szintű címek és bitszintű adatok elérésének képességét.
  • Hordozhatóság a meglévő C++ kóddal, beleértve az osztályöröklést és a sablonokat.
  • Gyors fordítás és integrálhatóság a meglévő C++ build rendszerekkel.
  • Egyszerűsítse a Carbon különböző verziói közötti migrációt.
  • Memóriabiztos eszközöket biztosít, amelyek védelmet nyújtanak a memóriaterület felszabadítása utáni címzése, a nullmutatók hivatkozásának megszüntetése és a puffertúlcsordulás által okozott sebezhetőségek ellen.

Természetesen a Rust a C és C++ alternatívája, de ez valójában nem egy kiterjesztett nyelv, inkább egy teljes értékű nyelv, kezdjük újra. A Carbon igyekszik olyan lenni, mint Rust, miközben továbbra is kompatibilis a C++ világával, Nos, a Github oldalán ez áll:

  • C++ teljesítményillesztés LLVM használatával, alacsony szintű hozzáféréssel a bitekhez és címekhez
  • Működjön együtt meglévő C++ kódjával, az örökléstől a sablonokig
  • Gyors, méretezhető buildek, amelyek együttműködnek a meglévő C++ build rendszerekkel

Állítólag azért van szükség a szén-dioxidra, mert a C++ fokozatos javítása egyszerűen nem lehetséges a történelmi poggyász miatt, amelytől egyszerűen nem tud megszabadulni. Én személy szerint továbbmennék, és azt javasolnám, hogy a C++ fokozatos "fejlesztései" részben az oka annak, hogy ez a gyakorlatban ilyen nagy nyelv.

„Mindig új nyelvek próbálnak a C++ utódjai lenni. Üdvözlöm a programozási nyelvekkel és programozási stílusokkal kapcsolatos kísérleteket, de igazán nem akarok vitákat szítani. Könnyű kritizálni a bevett nyelveket (tudjuk a problémáikat), de általában nehéz alternatívákat kínálni anélkül, hogy teljesen új problémákat ne hozzunk létre a nyelvi szabályokban, a könyvtárakban és a kormányzásban. A Carbon annyira új és alul specifikált, hogy nem igazán tudok érdemi műszaki megjegyzéseket tenni” – mondta egy e-mailben Bjarne Stroustrup, a C++ feltalálója.

Míg a Carbon a Google belső projektjeként indult, a fejlesztőcsapat végül az év végére 50% alá akarja csökkenteni a Google vagy bármely más egyéni vállalat hozzájárulását. A projektet végső soron egy független szoftveralapítványnak akarják átadni, ahol a fejlesztését önkéntesek végzik majd.

Végül ha érdekel, hogy többet tudjon meg róla tudnia kell, hogy a projekt fejlesztéseit Apache 2.0 licenc alatt terjesztik, és megtekintheti őket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.