Carbon Language
Carbon language is an experimental programming language developed by Google and designed to be a successor to C++.
Carbon is open source and was introduced to the world by Chandler Carruth at CPP North in 2022.
–> Check out the Carbon Language GitHub repo
–> Watch Chandler’s talk on YouTube
Rather than taking an incremental approach to improving C++, Carbon developers want to enable a dramatic shift by embracing the model of what they call a ‘successor language’.
Carbon Language Tutorials
Getting Started with Carbon Language
Carbon Comments
Carbon Constants
Carbon Variables
Carbon Functions
Why Carbon Language is Important
Carbon aims to retain the performance advantage of C++ while providing significant upgrades on multiple fronts. While this has largely already been accomplished by Rust, Carbon will also provide interoperability with existing C++ code.
This means that developers should be able to easily migrate their existing codebase into Carbon. In comparison, migrating from C++ to Rust is not a trivial operation. The difficulty of migration from C++ to Rust increases with the size of the codebase. For many projects this difficulty is insurmountable given resource constraints (time, money, people, etc.)
This is one of the major problems that Carbon developers hope to solve.
Will Carbon be the Next C++?
Carbon is at an extremely early stage and currently has limited functionality. It has a long way to go before it can be considered functional enough for non-experimental use.
In addition, many developers are happy using C++ and Rust is already a common (and much-loved) alternative to C++. Rust already allows developers to tap into the performance benefits of C++ while retaining the benefits of a modern programming language like readability and a gentle learning curve.
So a huge amount of works needs to be done for Carbon to become a desirable alternative to C++ and to compete with Rust. It seems likely that during the time it takes for Carbon to become a working alternative, many of the projects that Carbon would be great for (i.e. those with a large C++ codebase) will have already been migrated to Rust despite the difficulty.
At the same time, the potential of Carbon is great. It has a value proposition that is unique from Rust, and that may appeal to many C++ developers.