Family | C |
---|---|
Designed by | |
Typing discipline | Static, nominative, partly inferred |
Implementation language | C++ |
License | Apache-2.0-with-LLVM-Exception |
Filename extensions | .carbon |
Website | github |
Influenced by | |
C++, Rust, Swift [citation needed] |
Carbon is an experimental programming language designed for connectiveness with C++.[1] The project is open-source and was started at Google. Google engineer Chandler Carruth first introduced Carbon at the CppNorth conference in Toronto in July 2022. He stated that Carbon was created to be a C++ successor.[2][3][4] The language is expected to have an experimental MVP version 0.1 in 2025 and a production-ready version 1.0 after 2027.[5]
The language intends to fix several perceived shortcomings of C++[6] but otherwise provides a similar feature set. The main goals of the language are readability and "bi-directional interoperability" (which allows the user to include C++ code in the Carbon file), as opposed to using a new language like Rust, that, whilst being influenced by C++, is not two-way compatible with C++ programs. Changes to the language will be decided by the Carbon leads.[7][8][9][10]
Carbon's documents, design, implementation, and related tools are hosted on GitHub under the Apache-2.0 license with LLVM Exceptions.[11]
It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers.
cppnorthkeynote-sched
was invoked but never defined (see the help page).cppnorthkeynote-video
was invoked but never defined (see the help page).cppnorthkeynote-9to5google
was invoked but never defined (see the help page).difficulties improving cpp
was invoked but never defined (see the help page).c1
was invoked but never defined (see the help page).c2
was invoked but never defined (see the help page).c3
was invoked but never defined (see the help page).c4
was invoked but never defined (see the help page).