Как стать автором
Обновить

Google развивает язык программирования Carbon для экспериментальной замены C++

Время на прочтение2 мин
Количество просмотров39K


Разработчики из Google развивают язык программирования Carbon в качестве экспериментальной замены C++. Исходные коды проекта распространяются под лицензией Apache 2.0.

Предполагается, что в языке Carbon будут устранены недостатки C++, его применение будет удобнее, а возможности станут намного шире. Код Carbon легко читать, понимать и писать. Carbon в настоящее время является экспериментальным проектом. Согласно дорожной карте по развитию Carbon, к концу 2022 года должна быть завершена разработка основных конструкций языка, включая проработку выражений и операторов, классов, универсальных шаблонов, основных типов, интерфейсов, указателей и совместимость с языком C++.

По данным ресурса OpenNET, Carbon поддерживает базовую переносимость с C++, может интегрироваться с имеющимся кодом на C++ и предоставляет инструменты для упрощения миграции существующих проектов, автоматически транслирующие C++-библиотеки в код на языке Carbon.

Разработчики пояснили, что, например, можно переписать на Carbon определённую библиотеку и использовать её в существующем проекте на С++. Компилятор Carbon написан с использованием LLVM и наработок Clang.

Основные особенности и возможности Carbon:

  • легко освоить, особенно при наличии опыта по использованию C++;
  • создан по принципу «всё включено» («Batteries included»), включая компилятор, библиотеки, документы, инструменты, менеджер пакетов и многое другое;
  • производительность результирующего кода, сопоставимая с С++ с использованием LLVM, с сохранением возможности низкоуровневого доступа к адресам и данным на битовом уровне;
  • переносимость с существующим кодом на C++, включая наследование классов и шаблонов;
  • быстрая и масштабированная сборка, совместимая с существующими сборочными системами для C++;
  • удобные обновления и упрощённая миграция между разными версиями Carbon;
  • предоставление средств для безопасной работы с памятью, использование которых позволяет защититься от уязвимостей, вызванных обращением к области памяти после её освобождения, разыменованием нулевых указателей и выходом за границы буфера.

Разработчики пояснили, что при таком выбранном ими подходе по разработке Carbon они опираются на существующую экосистему C++, используют существующие разработки, кодовые базы и помощь сообщества разработчиков. Они напомнили, что есть несколько языков, которые следовали этой модели для других экосистем, и Carbon стремится выполнить аналогичную роль для C++: JavaScript → TypeScript, Java → Kotlin и С++ → Carbon.

На GitHub уже доступна демонстрация прототипа интерпретатора языка Carbon под названием Carbon Explorer.
Теги:
Хабы:
Всего голосов 19: ↑17 и ↓2+21
Комментарии78

Другие новости

Истории

Работа

QT разработчик
3 вакансии
Программист C++
102 вакансии

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань