Carbon (programming language)
See Carbon Programming Language
- Snippet from Wikipedia: Carbon (programming language)
Carbon is an experimental programming language designed for connectiveness with C++. 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. The language is expected to have an experimental MVP version 0.1 in late 2026 at the earliest and a production-ready version 1.0 after 2028.
The language intends to fix several perceived shortcomings of C++ 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.
Carbon's documents, design, implementation, and related tools are hosted on GitHub under the Apache-2.0 license with LLVM Exceptions.
https://www.pluralsight.com/courses/carbon--language-first-look
https://github.com/carbon-language/carbon-lang
https://www.youtube.com/watch?v=1ZTJ9omXOQ0
https://chandlerc.blog/slides/2023-cppnow-carbon-strategy
Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 2023 Slides: https://github.com/boostcon —
The Carbon Language is an experimental successor to C++ motivated by a desire to effectively and scalably bring significant language improvements like memory safety to existing large-scale C++ code bases. Other efforts to evolve C++ like Cpp2 and Circle are structured more as a superset language, where Carbon [Carbon Language] is following a distinct successor language design. This talk will dive into the tradeoffs we see between these approaches and what motivates Carbon [Carbon Language] to take a different approach despite its challenges.
One of the largest challenges of our successor approach is C++ interoperability, and Carbon [Carbon Language] is embedding the Clang C++ compiler directly into its toolchain to get the superpowers it needs to address this. While still in its early stages, this talk will give a detailed preview of what we expect C++ interop to look like in Carbon [Carbon Language] and how we plan to solve key implementation issues. It will cover complex cases like C++ templates and C++20 concepts, as well as showing how we plan to make the interop truly bidirectional.
Last but not least, this talk will show how we expect our successor strategy to play out in practice. Memory safety is an especially motivating feature, requiring fundamental changes to how software is written to achieve safety without performance loss. This talk will show the path Carbon will provide to enable existing C++ code bases incrementally and scalably achieve safety and security. —
Chandler Carruth
Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system and made guest appearances helping maintain a few core C++ libraries across Google's codebase. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. When not hammering away on a weirdly shaped keyboard, he enjoys sushi, fine dining, brown spirits, and everything about wine.