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

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

Давайте выясним, что говорят об этом языке и как он собирается превзойти C++.

Представляем Carbon — потенциального преемника C++

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

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

Основные возможности языка программирования Carbon

От высокой производительности до двунаправленной совместимости и современных дженериков — вот главные особенности нового языка программирования Google Carbon.

Взаимодействие с C++

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

Современные дженерики

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

Безопасность памяти

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

В заключение

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

Чтобы получить более глубокое представление о языках программирования и проблемах разработки, следуйте SoftProdigy.