Is it time for a successor to the venerable C++ programming language? A new initiative spearheaded by a group of developers from Google and other organizations believes the time has come. The result of their efforts is Carbon, an experimental language that aims to modernize the C++ landscape by addressing the limitations and challenges that have plagued the language for decades. While C++ remains the go-to choice for building performance-critical applications, Carbon intends to offer a fresh approach that integrates smoothly with C++ and overcomes its accumulated technical debt.
Carbon is designed to retain C++’s core strengths, such as its performance capabilities, but introduces modern language features that simplify development. One of the key innovations of Carbon is its use of modern generics, which enable more flexible and reusable code, as well as its simple syntax and modular code structure. These design choices aim to provide a more accessible and efficient alternative for developers, without sacrificing the low-level control that C++ is known for. However, the developers of Carbon are clear that the language is still in its infancy and not yet ready for real-world production use.
Although Carbon introduces a new direction, its developers stress that it is not intended to replace C++ outright but to offer a better pathway for developers looking to modernize their C++ codebases. With C++ maintaining its dominance in the software development world, particularly for performance-critical applications, Carbon is seen more as a successor that allows for gradual migration rather than a revolutionary overhaul. This means developers can integrate Carbon into their existing C++ projects while minimizing disruption. The goal is for Carbon to provide the necessary tools to migrate C++ codebases and enable developers to leverage the modern features of Carbon without losing the benefits of the existing C++ ecosystem.
Carbon was formally introduced at the CppNorth conference in Toronto, where its developers presented the language’s capabilities and outlined the criteria that would make it a viable successor to C++. These criteria include matching or exceeding C++’s performance, enabling seamless interoperability between the two languages, ensuring a gentle learning curve for developers familiar with C++, and supporting scalable migration of legacy code. Resources for the language are available on the project’s GitHub repository, where the developers are inviting contributions and feedback as they continue to shape the language’s future. While Carbon is still in the early stages, it presents an exciting potential for the future of performance-oriented programming