Google engineer Chandler Carruth recently announced at the CppNorth conference that the Carbon programming language, which will be an experimental successor to C++, has been open sourced on GitHub.
Google has previously created a variety of programming languages, including Golang, Dart, and others, and the new language, Carbon, aims to replace C++.
Chandler Carruth compared it to Rust, saying that Rust is not “bi-directionally interoperable” with C++, making it difficult to migrate consistently. Carbon, however, is intended to be fully interoperable with existing C++ code, and the goal is to make migration from C++ to Carbon as easy as possible.
Also according to Carbon’s GitHub repository page, Carbon is fundamentally a successor language approach rather than an attempt to evolve C++. It is designed around interoperability with C++ and mass adoption and migration of existing C++ codebases and developers, and includes the following features.
Introducer keyword and simple syntax
Read-only function input parameters
Pointer to provide indirect access and variants
Use of expressions to name types
Package as root namespace
Importing APIs by package name
Method declaration with explicit object arguments
Single inheritance, default use of final class
Powerful and definition-checked generics
Types can explicitly implement interfaces
Google likens Carbon to TypeScript, Kotlin, the latter two being enhancements to JavaScript and Java.
In addition to the features of the language itself, the Carbon team is focused on the development process that will shape the future of Carbon. The project’s code is publicly hosted on GitHub and open to PR.