Your message has been sent.
We’ll process your request and contact you back as soon as possible.
The form has been successfully submitted.
Please find further information in your mailbox.

At the CPP North conference, Chandler Carruth, a principal software engineer at Google, announced the release of the Carbon programming language. Google’s Carbon is an experimental open-source language that is intended to be rather the successor to C++, but not its replacement. In the article, we’ll take a closer look at Carbon, its goals, potential, and the reasons why C++ needs a successor.

According to the TIOBE Index for August 2022, C++ ranks 4th after Python, C, and Java. Since 2001, C++ has never dropped below 5th place, which indicates the high popularity of this programming language despite its age (first appeared in 1985). C++ has multiple advantages crucial for the development of performance-critical software. So why does it need a successor?
As explained by Chandler Carruth, C++ falls short of the achievement of the language’s major goals. They include the support of performance-critical software, simple syntax, language evolution, modern systems, and robust safety among others. The specific language features and bureaucratic issues prevent C++ from gradual improvement.
As for language peculiarities, C++ has accumulated high technical debt throughout its evolution. Moreover, it has inherited many legacy features from the C language. Besides, C++ users prioritize backwards compatibility to support existing C/C++ ecosystems. At the same time, backwards compatibility doesn’t allow for fixing the technical debt, hence the C++ evolution process makes it even more difficult for improvements to get implemented.
Speaking of bureaucratic issues, the process of C++ improvement is significantly slowed down by a committee (WG21) focused on standardization but not design. WG21 employs sluggish waterfall processes that lead to delays in making crucial decisions. Moreover, the committee has restricted access to most C++ experts and only represents certain companies and nations, ignoring the large C++ community.

The information available at the moment allows us to consider Carbon as a very promising project. As for the practical side of the new programming language, Chandler Carruth claims that we can expect from Carbon a simpler grammar, introducer keywords (i.e. fn and var), a definition-checked generics system, and a steep learning curve. Carbon will inherit C’s high performance and avoid its major drawbacks.
On top of that, Carbon creators say Carbon will be an open-source programming language and fully interoperable with C++. Carbon code is very similar to C++ code, and in many cases, they are almost identical. Moreover, Carbon code can be integrated into C++ code. So, C++ developers who want to switch fully to Carbon will have a toolkit to automatically transliterate C++ libraries into code in the new language. Reverse migration is also possible. In the future, these libraries can be used in an existing C ++ project. All Carbon tools are hosted on GitHub and distributed under the Apache 2.0 license. So far, there is a demo Carbon interpreter available.
An important part of the experimental Carbon project is the governance structure. The Carbon team is guided by the principles of inclusiveness and openness. The governance structure of Carbon is designed for fast decision-making, flexibility, and rapid development of the project. All the crucial decisions are made by Carbon leads, represented by Chandler Carruth, Kate Gregory, and Richard Smith at the moment. Since the Carbon project is based on the open-source development model, every user can send GitHub requests to suggest the project changes and drive the Carbon language evolution.
At the moment, Google employees are working on the Carbon programming language as an internal project. However, it is planned to reduce the level of involvement of the company in the project, since developers understand that for future success, Carbon must be an independent and community-driven project.
Bottom line
Rate this article:
4.8/5 (45 reviews)












Your message has been sent.
We’ll process your request and contact you back as soon as possible.