Краткий обзор языка программирования Carbon

Прочитано: 96 раз(а)


Carbon — это экспериментальный язык программирования, построенный на основе C++, но с новым взглядом на безопасность памяти, многопоточность и функциональное программирование.

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

Давайте рассмотрим некоторые дополнительные возможности Carbon, которые делают его альтернативой C++, а также некоторые его недостатки.

Что такое углерод и в чем его преимущества?

Впервые Carbon был представлен на конференции по программному обеспечению CppNorth 2022 года как проект с открытым исходным кодом, поддерживаемый Google. Главный создатель Чендлер Каррут недвусмысленно охарактеризовал язык как «экспериментальный преемник C++», призванный облегчить командам разработчиков управление большими и сложными системами C++.

Одним из самых выдающихся качеств Carbon является его ориентация на обеспечение безопасности памяти , что достигается с помощью набора методов и возможностей. Некоторые из этих мер безопасности включают следующее:

  • Регулярная проверка границ массивов для предотвращения ошибок.
  • Запрещение попыток доступа к памяти через разыменованные указатели.
  • Запрет доступа к освобожденной памяти (например, к памяти со сборкой мусора).
  • Предоставление дополнительных гарантий доступа к неправильным типам данных.
  • Механизмы блокировки (включая элементы управления семантикой), которые изолируют одновременный доступ.

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

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

Текущие ограничения Carbon

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

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

Разверните приложение в Google Cloud Run с помощью Terraform



Новости партнеров