Carbon (programming language)

Carbon
A dark-gray circle with a white sans-serif letter "C" in the middle
Logo on Carbon's GitHub organization
FamilyC
Designed byGoogle
Typing disciplineStatic, nominative, partly inferred
Implementation languageC++
LicenseApache-2.0-with-LLVM-Exception
Filename extensions.carbon
Websitegithub.com/carbon-language
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]

  1. ^ "README". Retrieved 6 September 2023. It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers.
  2. ^ Cite error: The named reference cppnorthkeynote-sched was invoked but never defined (see the help page).
  3. ^ Cite error: The named reference cppnorthkeynote-video was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference cppnorthkeynote-9to5google was invoked but never defined (see the help page).
  5. ^ Carbon Language: Roadmap, carbon-language, 11 January 2024, retrieved 18 January 2024
  6. ^ Cite error: The named reference difficulties improving cpp was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference c1 was invoked but never defined (see the help page).
  8. ^ Cite error: The named reference c2 was invoked but never defined (see the help page).
  9. ^ Cite error: The named reference c3 was invoked but never defined (see the help page).
  10. ^ Cite error: The named reference c4 was invoked but never defined (see the help page).
  11. ^ "carbon-lang/LICENSE". GitHub. 16 June 2020. Retrieved 24 July 2022.