Carbon, езикът за програмиране, който има за цел да замени C++

Преди няколко дни разкри служител на Google който разработва нов език за програмиране, наречен "Въглища", че се позиционира като експериментален заместител на C++, разширяване на този език и премахване на съществуващите недостатъци.

Според презентацията на Carruth, езикът е разработен, за да може да създава софтуер, където производителността е критична. Те също искаха да позволят на разработчиците да се възползват от дизайна на съвременния език за програмиране, като използват Carbon.

Някои от нещата, подчертани като акценти на Carbon в сравнение с C++, бяха, например, по-прост синтаксис и API импортиране. Според Carruth този нов експериментален език трябва да бъде двупосочно съвместим със C++, което означава, че проектите трябва да могат да мигрират от един език на друг без много затруднения.

В допълнение, целта е по-нататъшното развитие на езика по отворен начин в Интернет, където всеки, който иска, може да допринесе с изходния код. Проектът е публично достъпен в Github и е отворен за заявки за изтегляне. 

Езикът поддържа основна преносимост на C++, може да се интегрира със съществуващ C++ код и предоставя инструменти за опростяване на миграцията на съществуващи проекти чрез автоматично превеждане на C++ библиотеки в Carbon код.

Например, можете да пренапишете определена библиотека в Carbon и да я използвате в съществуващ C++ проект. Компилаторът Carbon е написан с помощта на компилации на LLVM и Clang.

От основните характеристики на Carbon, се открояват следните:

  • Производителността на получения код е сравнима с C++, като същевременно се запазва възможността за достъп до адреси от ниско ниво и данни на битово ниво.
  • Преносимост със съществуващ C++ код, включително наследяване на класове и шаблони.
  • Бързо компилиране и възможност за интегриране със съществуващи компилационни системи за C++.
  • Опростете миграцията между различни версии на Carbon.
  • Осигурява безопасни за паметта инструменти, които предпазват от уязвимости, причинени от адресиране на област на паметта, след като тя е била освободена, дерефериране на нулеви указатели и препълване на буфер.

Разбира се, имаме Rust като предложена алтернатива на C и C++, но това всъщност не е език за разширение, това е по-скоро пълноценен език, нека започнем отначало. Carbon се опитва да бъде като Rust, като същевременно е съвместим със света на C++, Е, на неговата страница в Github пише:

  • Съпоставяне на производителността на C++ с помощта на LLVM, с достъп на ниско ниво до битове и адреси
  • Взаимодействайте с вашия съществуващ C++ код, от наследяване до шаблони
  • Бързи, мащабируеми компилации, които работят с вашите съществуващи системи за компилиране на C++

Твърди се, че въглеродът е необходим, тъй като постепенното подобряване на C++ просто вече не е възможно поради историческия багаж, от който той просто не може да се отърве. Лично аз бих отишъл по-далеч и бих предположил, че постепенните „подобрения“ в C++ са част от причината той да е толкова голям език на практика.

„Винаги има нови езици, които се опитват да бъдат наследници на C++. Приветствам експериментите с програмни езици и стилове на програмиране, но наистина не искам да предизвиквам противоречия. Лесно е да се критикуват установени езици (знаем проблемите им), но обикновено е трудно да се предложат алтернативи, без да се създават изцяло нови набори от проблеми в езиковите правила, библиотеките и управлението. Carbon е толкова нов и недостатъчно уточнен, че не мога да направя никакви смислени технически коментари“, каза изобретателят на C++ Bjarne Stroustrup в имейл.

Въпреки че Carbon започна като вътрешен проект на Google, екипът за разработка в крайна сметка иска да намали вноските от Google или всяка друга отделна компания до по-малко от 50% до края на годината. В крайна сметка те искат да предадат проекта на независима софтуерна фондация, където разработването му ще се извършва от доброволци.

Накрая ако се интересувате да научите повече за това трябва да знаете, че разработките на проекта се разпространяват под лиценз Apache 2.0 и можете да се консултирате с тях В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.