Difficult to transform large projects Existing C++ codebases to Rust, Google engineers argue – so they created a new “experimental” open source programming language called Carbon.Google’s lead software engineer, Chandler Carruth, presented Carbon this week at the “CPP North” C++ conference in Toronto. TechRadar reports:
The newly announced Carbon should be interoperable with popular C++ code, but for users looking to make the complete switch, migration should be fairly easy. For those who aren’t sure about the complete change, Carruth delved into more detail on some of the reasons why Carbon is such a powerful successor to C++, including simpler grammar and smoother API import.
Google engineers are already building tools to translate C++ into this new language. “While Carbon started as an internal project at Google, the development team ultimately wants to reduce contributions from Google, or any other single company, to less than 50% by the end of the year,” it reports. new stackadding that Google eventually wants to hand the project over to an independent software organization where development is led by volunteers:
Carruth explained on his GitHub page that C++ has long been the language of choice for building performance-critical applications, and it suffers from a number of issues that hold back modern developers. It accumulated decades of technical debt, and brought with it many ancient practices that were part of the language’s ancestor, c. C++ guards prioritize backward compatibility, in order to continue to support widely used projects such as Linux and its package management ecosystem, Carruth charged.
The development of the language is also frustrated by the bureaucratic committee process, geared toward standardization rather than design. Which makes it difficult to add new features. C++ has a largely isolated development process, where a select committee makes important decisions, in a waterfall process that can take years. “The commission’s structure is designed to ensure that states and companies are represented, rather than building an inclusive and welcoming team and community of experts and people who actively contribute to the language,” Carruth wrote. “Access to the Committee and Standards is restricted and costly, attendance is necessary to have a voice, and decisions are made through the living voices of those present.”
Carruth wants to build Carbon through a more open, community-led environment. The project will be maintained on GitHub, and discussed on Discord…. The design team wants to release a basic working version (“0.1”) by the end of the year.
Carbon will boast modern features like generics and memory safety (including dynamic boundary checks), the article notes. And “the development team will also create a built-in package manager, something that C++ is sorely lacking.”