Заполните форму и наш менеджер свяжется с вами
Carbon: все, что нужно знать о новом языке программирования от Google

Carbon: все, что нужно знать о новом языке программирования от Google

article
banner

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

Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно

Что такое Carbon

Презентация Carbon состоялась летом 2022 года. Разработкой занималась команда из пяти опытных специалистов под руководством инженера Чендлера Каррута. Необходимость создания нового языка программирования обусловлена двумя причинами:

  • Идея. В профессиональных кругах считается, что C++ становится труднее развивать. Он превратился в мешанину новых и устаревших элементов.
  • Бизнес-проект. Google использует C++. Компания потратила значительные средства на совершенствование экосистемы. В процессе возникали препятствия, мешающие достижению согласия с разработчиками. Один из примеров – отклоненное предложение Гугла по замене unordered_map другим кодом –  flat_hash_map. Так, корпорация приняла решение разработать более эффективный аналог.

Carbon – это открытый проект, находящийся на GitHub под лицензией Apache-2.0-with-LLVM-Exception. Документация, оформление, реализация, дополнительные инструменты только разрабатываются. Выпуск первой версии запланирован на 2024-2025 гг.

Источник: ru.freepik.com

Кому и зачем он нужен

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

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

Carbon можно применять в проектах, связанных с разработкой программного обеспечения:

  • Создание веб-программ, сервисов, драйверов.
  • Разработка операционных систем.
  • Создание мобильных приложений для Android и iOS.
  • Работа с отображением больших объемов данных и аналитики.
  • Разработка компьютерных игр.

Задача нового языка – сохранить функционал С++, но при этом устранить недостатки:

  • Запутанный синтаксис.
  • Пониженный уровень безопасности памяти и управления инструментами.
  • Сложности с применением абстракций.
  • Несовместимость стандартов и компиляторов, то есть программ для перевода исходного кода в машинный.
  • Нехватка модульности.
  • Чрезмерное количество легаси – кода, который перешел «по наследству» от предыдущих разработчиков.

Какие у него особенности

К преимуществам относятся:

  • Понятность синтаксиса. Доступен как для новичков, так и для опытных разработчиков.
  • Производительность и оперативность при выполнении поставленных задач.
  • Применение ключевых слов для внесения переменных, функций, классов, интерфейсов. К примеру, С++ требует использование сложных правил.
  • По умолчанию функции доступны исключительно для чтения. Это увеличивает уровень безопасности кода. 
  • Использование выражений для наименования типов вместо усложненных стандартов. Благодаря этому код понятен и не перегружен. 
  • Построен на базе Open Source.

Как работать с Carbon

Язык программирования находится на стадии разработки Гуглом. Но уже доступна демонстрация прототипа – Carbon Explorer. 

Пошаговая инструкция, как установить и использовать:

  1. Установите Homebrew, чтобы перейти к загрузке пакетов. Это утилита для macOS и Linux.
  2. Загрузите Bazel – ресурс сборки и тестирования. Поддерживает разные платформы.
  3. Установите Low Level Virtual Machine (LLVM ) — виртуальная машина, которую применяет Carbon в работе. 
  4. Загрузите Carbon Explorer.
  5. Напишите код и запустите для отображения результата.
Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно

Основы языка: синтаксис и структуры данных

  • Упрощенный синтаксис. Дружественен к разработкам С++, прост для понимания.
  • Модульная система и пакетный менеджер.
  • Шаблоны, схожие с Rust.
  • Декларации. Методы отражаются через ключевое слово fn, переменные – var, наименования переменных должны заканчиваться символом «:» + пробел, константы – let, пакеты – package, комментарии – //.
  • Переменные: bool – для булевых значений true или false, i8/i16/i32/i64/i128/i256 – для целочисленных типов, u8/u16/u32/u128/u256 – для беззнаковых целых типов, f16/f32/f64/f128 – для float, чисел с плавающей запятой.
  • Одиночные и многострочные строки.
  • Кортежи – значения с координатами. Отражаются с помощью круглых скобок.
  • Указатели.
  • Массивы. 
  • Циклы. Поддерживаются стандартные операторы.
  • Классы. 
  • Дженерики. Объявляются через типы параметров T.

Чем отличается от других популярных языков

 

Carbon

C++

Rust

Синтаксис

Удобнее в сравнении с аналогами, так как Google ликвидирует накопившееся легаси

Сложный

Упрощенный

Поддержка перехода на другой язык

Помогает пользователям переносить кодовую базу на новый язык

Закрытая экосистема

Нет миграции

Обновления

Регулярное совершенствование

Часто встречается проблема с обратной совместимостью. Новые приложения должны корректно работать с устаревшими версиями библиотек, что приводит к стагнации системы 

Постоянное развитие

Поддержка моделей

Присутствует

Мало кто пользуется

Присутствует

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

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

Снижена

Одна из основных функций. Применяет систему владения и заимствования для контроля доступа к информации

Производительность

Высокая

Высокая

Высокая

Какие перспективы развития языка

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

Разработка строится с учетом обратной связи от пользователей С++, а спецификации основываются на имеющихся стандартах в сфере системного программирования. Среди них:

  • Международный стандарт ISO. Применяется для переезда с C++.
  • Low Level Virtual Machine. Для создания компиляторов и утилит.
  • Транслятор для C-подобных языков – Clang. Используют для кодогенерации. 
  • Language Server Protocol (LSP). Для настройки связи с IDE и редакторами.
  • Система сборки для Rust – Cargo. Нужен для учета пакетов и зависимостей.

Экспериментальный язык программирования от Гугл берет во внимание опыт Rust, Swift, Kotlin, TypeScript, чтобы предложить улучшенные решения актуальных запросов.

Источник: ru.freepik.com

Типичные ошибки и как их исправить

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

Главное, что нужно знать

  1. Carbon — новый язык программирования от Google, разработанный на замену С++. 
  2. К особенностям относится: простой синтаксис, обширные библиотеки, высокая производительность, доступность миграции.
  3. С помощью Carbon можно разработать приложение, драйвер, операционную систему, компьютерную игру. 
  4. Подходит для крупных корпораций, которые устали безрезультатно ожидать от С++ новых фичей и снижения числа угроз безопасности. 
  5. С прототипом можно познакомиться на GitHub. Выпуск первой версии запланирован на 2024-2025 гг.

Адреса поступления

ЦФО
Москва, Ленинградский пр., д. 80Г
Сокол
+7 495 800–10–01 8 800 100–00–11
banner
Подберите программу обучения, узнайте проходной балл и начните учиться бесплатно
download
Всё самое важное — в личном кабинете абитуриента
Войти
школаколледжуниверситетбизнес-образованиекурсы
image
1000+программ
Образованиеhatдляhatкарьеры

В «Синергии» 1000+ образовательных программ

У нас есть решения для любого уровня, профессии и цели:
01Сформировать прочный фундамент знаний в школе
Сформировать прочный фундамент знаний в школе
02Получить качест­венное среднее профессио­нальное или высшее образование
Получить качест­венное среднее профессио­нальное или высшее образование
03Освоить новую специальность на&nbsp;<span style="white-space:nowrap;">онлайн-курсах</span>
Освоить новую специальность на онлайн-курсах
04Пройти результативную переподготовку или&nbsp;повысить квалификацию
Пройти результативную переподготовку или повысить квалификацию
05Достичь экспертного управленческого уровня с&nbsp;<span style="white-space:nowrap;">программой</span> MBA
Достичь экспертного управленческого уровня с программой MBA
Качество образования подтвержденомеждународными стандартами:
мы состоим в Европейском фонде гарантии качества электронного обучения и Великой хартии европейских университетов, участвуем в Международной ассоциации университетов при ЮНЕСКО
Подобрать программу обучения