The new programming language announced by Google is intended to be the next level of C++.
Although it is not a project developed 100% by google, developers from different companies have participated. The idea is to invite anyone who wants to join, in fact, the code is already published to request its use and the idea is that Carbon is accessible and inclusive for everyone. With this, what Google is looking for is to make this new project go beyond the walls of the company and be used by the entire community of programmers. Something that is emphasized is to promote a healthy and safe community, with a culture that invites inclusion and is pragmatic.
Since the source code is already uploaded to the web, more specifically on GitHub, any developer who wants to experiment with this new language can download it and investigate its features and functionalities.
The main goals of Carbon are:
- To be a Performance-critical software: That its users have as much control as possible over its performance. That it is a predictable code, that is to say, who writes and who reads must be able to suppose for what the code is destined with clarity.
- To accompany the evolution of the software development, offering comforts and opening the range of possibilities to the developers: It is sought to attack the time-oriented aspects of the software and to accompany the evolution of the software development, giving the possibility to remove the obsolete functionalities and to add new functionalities that are useful.
- Be simple to read, write and interpret: “Every moment you use to interpret the code, is time wasted using it”, using this phrase as a first step what they seek with this goal is to facilitate the use of the language, eliminating any type of complexity in its writing and making it easy to scan, not only for a machine but also for humans.
- Have interoperability with C++.
In this last characteristic also lies one of its objectives, which is to be the successor of C++. For it, Carbon has a performance that is 100% compatible with C++, and the interoperability is bidirectional and does not have errors. In the same way, it is sought that an existing C++ library can take Carbon without problems. And to accompany this migration, the idea is that the learning is as familiar as possible for C++ developers.