A Google employee is developing the Carbon programming language, which is positioned as an experimental replacement for C++, expanding the language and eliminating existing shortcomings. The language supports basic C++ portability, can integrate with existing C++ code, and provides tools to simplify the migration of existing projects by automatically translating C++ libraries to Carbon code. For example, you can rewrite a certain library in Carbon and use it in an existing C++ project. The Carbon compiler is written using LLVM and Clang developments. The project's developments are distributed under the Apache 2.0 license.
Key features of Carbon:
- The resulting code has performance comparable to C++, while maintaining low-level access to addresses and data at the bit level.
- Portability with existing C++ code, including class inheritance and templates.
- Fast assembly and the ability to integrate with existing assembly systems for C++.
- Simplify migration between different versions of Carbon.
- Provides memory-safe tools to protect against after-free vulnerabilities, such as NULL pointer dereferences and buffer overruns.
Source: opennet.ru