It has accumulated decades of technical debt, bringing with it many of the antiquated practices of the language’s forefather, C. Carruth charged that C++ defenders prioritize backward compatibility in order to continue supporting widely used projects like Linux and its package management ecosystem.
The evolution of the language is also stymied by a bureaucratic committee process that is focused on standardization rather than design. This can make adding new features difficult. C++’s development process is largely sequestered, with a select committee making important decisions in a waterfall process that can take years.
“The committee structure is designed to ensure nation and company representation, rather than building an inclusive and welcoming team and community of experts and people actively participating.”
“Rather than building an inclusive and welcoming team and community of experts and people actively contributing to the language, the committee structure is designed to ensure representation of nations and companies,” Carruth wrote. “Access to the committee and standard is limited and costly; attendance is required in order to have a voice, and decisions are made by live votes of those present.”
Carruth wishes to construct Carbon in a more open, community-led environment. The project will be kept up to date on GitHub and discussed on Discord. While Carbon began as an internal Google project, the development team hopes to reduce contributions from Google, or any other single company, to less than 50% by the end of the year. They eventually hope to hand over the project to an independent software foundation, where it will be developed by volunteers.
Chandler Carruth, a Google engineer, debuted the language this week at the CPP North C++ conference in Toronto. Carruth explained that while C++ has long been the language of choice for developing performance-critical applications, it is plagued by a number of issues that impede modern developers.
Googler Chandler Carruth shared the vision for a new programming language called Carbon today at the Cpp North convention in Toronto, according to Conor Hoekstra, who was in attendance and documented the slides. Carruth began by demonstrating how many of today’s most popular programming languages have successors that allow developers to be productive quickly while also taking advantage of modern language design.
What exactly is Google Carbon Code?
To address the shortcomings of C++, Google engineers created the Carbon programming language.
Many existing languages, such as Golang and Rust, already mirror the performance of C++ without its flaws. Unfortunately, the migration of existing C++ codebases is hampered by these languages.
C++ interoperability, modern generics, and memory safety are some of Carbon’s key features.
Interoperability With C++
Carbon’s goal is to provide a gradual learning curve for C++ developers by using a standard, consistent set of language constructs.
Within an application, you can also migrate a single C++ library to Carbon or add new Carbon code on top of existing C++ code.
Carbon’s Roadmap Shows Long-Term Planning
According to the Carbon roadmap, Google will make the experiment public by the end of 2022 with the release of a core working version (0.1). They intend to release a 0.2 version in 2023, followed by a full 1.0 release in 2024-2025. It remains to be seen whether Google will be able to replicate the success of their other languages, Golang and Kotlin.