Язык Carbon является преемником C++, что означает, что он лучше во всех тех аспектах, в которых C++ не хватает. В этой статье мы познакомим вас с языком Carbon Language. Мы увидим, что это такое и почему Google разработал его.
Введение
Почему новый язык, да еще и преемник C++?
Да потому, что C++ по-прежнему является одним из самых важных языков для работы на системном уровне. Он быстрый, легкий и может легко проникнуть в программирование аппаратного обеспечения. Благодаря этому он также может легко испортить систему. Вы можете перезаписывать области памяти, переполнять буферы, обрушивать системы и иногда сжигать адреса.
Carbon закрывает пробелы, оставленные C++. Он может легко делать то, что C++ делает сложным способом.
Особенности языка Carbon
- Он может работать с C++. Поэтому вы можете легко использовать его в своих существующих проектах.
- Как и C++, Carbon может обращаться к адресам и битам памяти.
- С точки зрения производительности он работает лучше, чем C++.
- Время компиляции и сборки значительно сокращается. Нет необходимости ждать несколько минут для завершения сборки в больших проектах.
- Синтаксис Carbon схож с Python, Golang и C++. Поэтому кривая обучения плоская. Легко начать работать.
- В отличие от C++, язык Carbon безопасен для памяти.
Почему разработали Carbon? Почему не модернизировали C++?
C++ не может быть легко модернизирован. Это потребует много усилий и ресурсов как в плане денег, так и времени разработки. Поэтому команда Google решила создать новый язык, известный как Carbon. Так как он может взаимодействовать с кодом на C++, поэтому нет проблем с совместимостью.
Где можно использовать Carbon?
Мы можем использовать Carbon там, где можно было бы использовать C++. Поэтому он лучше всего подходит для программного обеспечения, критичного к производительности. Он может легко интегрироваться в низкоуровневые системные проекты, где требуется частое взаимодействие с адресами и битами памяти.
На каком языке написан Carbon?
В основном он написан на C++. В некоторых местах он также использует Python, Starlark, JavaScript, Shell и т.д.
Пример
На момент написания этой статьи не было полного рабочего примера. Пример взять с предлагаемого синтаксиса:
import Console;
// Выводит числа Фибоначчи, меньшие, чем `limit`.
fn Fibonacci(limit: i64) {
var (a: i64, b: i64) = (0, 1);
while (a < limit) {
Console.Print(a, " ");
let next: i64 = a + b;
a = b;
b = next;
}
Console.Print("\n");
}