Table Of Contents
Disappointed by the slow development of C++? Then you must read this. Google engineers have developed a novel “experimental” open programming language called Carbon as an alternative to the old but reliable C++.
Google Engineer Chandler Carruth introduced the language this week at the CPP North C++ conference in Toronto.
Why An Alternative For C++?
Being a popular language for creating applications that require high performance; C++ is beset by numerous problems that hinder the modern developer, Carruth explained on a GitHub page. It has accrued years of technical debt, which has brought with it several ancient practices that were part of C++’s predecessor language, C. The keepers of C++ insist on the backward compatibility of their language to ensure that it continues to be supported by widely used programs like Linux and its ecosystem for managing packages, Carruth charged.
The evolution of the language is hindered by a bureaucratic committee process based on the concept of standardization, not design. As a result, it can be difficult to introduce new features. As a result, C++ has largely an internal development process sequestered with a committee of a selected group that makes crucial decisions in a unidirectional process that could take years.
“The committee structure was designed to ensure that there is representation from countries and corporations and not to create an open and friendly team and a group of experts and individuals active in the development of our language,” Carruth wrote. “Access for the members of this committee as well as the standard is limited and costly. Attendance is required to have an opportunity to speak, and the decision-making is made via the votes of those in attendance.”
Carruth is looking to create Carbon via a more transparent community-based environment. This project is managed on GitHub and will be discussed via Discord.
Although Carbon was originally initially a Google internally developed project, the Carbon development team eventually wanted to cut down on contributions from Google or any other company in the region of under 50% at the close of the year. So they are planning to transfer Carbon to an independent foundation for software which will oversee its development.
More About Carbon
The plan is to launch an operating version (“0.1”) before the year ends. Carbon’s development will rest upon an underlying foundation of modern programming concepts, such as the concept of a generics system that will remove the requirement to test and recheck the code each time an instantiation occurs.
Another important feature that is missing and is not present in C++ is memory safety. Memory access bugs can be among the biggest causes of security flaws. Carbon designers will seek ways to detect non-initialized states, develop APIs and idioms that can support dynamic bounds checks, and build an exhaustive default debug build mode. In the future, the creators will work to establish a safe Carbon subset.
What Documentation Says: The Language Will Support
- Performance-critical software
- Software and language evolution
- Code that is easy to read, understand, and write
- Practical safety and testing mechanisms
- Fast and scalable development
- Modern OS platforms, hardware architectures, and environments
- Interoperability with and migration from existing C++ code.
Here is some C++ code translated into Carbon. First, the C++ code:
Opinion Of A Programmer:
Popular Stories You Shouldn’t Miss: