== Clone of https://github.com/carbon-language/carbon-lang.git ==
|
|
4 lat temu | |
|---|---|---|
| .github | 4 lat temu | |
| .vscode | 4 lat temu | |
| bazel | 4 lat temu | |
| common | 4 lat temu | |
| docs | 4 lat temu | |
| executable_semantics | 4 lat temu | |
| github_tools | 4 lat temu | |
| migrate_cpp | 4 lat temu | |
| proposals | 4 lat temu | |
| scripts | 4 lat temu | |
| third_party | 4 lat temu | |
| toolchain | 4 lat temu | |
| .bazelignore | 4 lat temu | |
| .bazeliskrc | 4 lat temu | |
| .bazelrc | 4 lat temu | |
| .clang-format | 5 lat temu | |
| .clang-tidy | 4 lat temu | |
| .codespell_ignore | 4 lat temu | |
| .gdbinit | 4 lat temu | |
| .gitallowed | 5 lat temu | |
| .gitignore | 4 lat temu | |
| .pre-commit-config.yaml | 4 lat temu | |
| .prettierrc.yaml | 5 lat temu | |
| BUILD | 4 lat temu | |
| CODEOWNERS | 5 lat temu | |
| CODE_OF_CONDUCT.md | 4 lat temu | |
| CONTRIBUTING.md | 5 lat temu | |
| LICENSE | 5 lat temu | |
| README.md | 4 lat temu | |
| WORKSPACE | 4 lat temu | |
| bazel-execroot | 5 lat temu | |
| compile_flags.txt | 4 lat temu | |
| pyproject.toml | 5 lat temu | |
| setup.cfg | 4 lat temu |
Carbon goals | Carbon and C++ | Take a look | Join us
<img src="docs/images/quicksort_snippet.svg" align="right" width="575"
alt="Quicksort code in Carbon. Follow the link to read more.">
Modern and evolving
Welcoming open-source community
We believe Carbon must support:
Many languages share these goals, and they can often be addressed independently in a language's design. For the Carbon project, they are prioritized in that order to help make clear what tradeoffs we intend to make.
Read the language overview for more on the language design itself, and the goals for more on these values.
If you're already a C++ developer, Carbon should have a short learning curve. It is built out of a consistent set of language constructs that should feel familiar. C++ code like this:
<img src="docs/images/cpp_snippet.svg" width="600"
alt="A snippet of C++ code. Follow the link to read it.">
can be mechanically transformed to Carbon, like so:
<img src="docs/images/carbon_snippet.svg" width="600"
alt="A snippet of converted Carbon code. Follow the link to read it.">
without loss of performance or readability. Yet, translating C++ to Carbon isn't necessary; you can call Carbon from C++ without overhead and the other way around. You can port your library to Carbon, or write new Carbon on top of your existing C++ investment. Carbon won't add a sea of dependencies or slow down your performance-critical code. For example:
<img src="docs/images/mixed_snippet.svg" width="600"
alt="A snippet of mixed Carbon and C++ code. Follow the link to read it.">
In terms of safety, any language that can seamlessly call C++ will not be perfectly safe in every dimension. However, Carbon's design encourages you to use safe constructs where possible.
Ultimately, C++ carries a significant historical legacy, including around ABI stability, that constrains its evolution. Carbon is an attempt to set a new direction for C++ developers that allows for fast development, flexibility, and delight without sacrificing performance, interoperability, and familiarity.
Read more about C++ interop in Carbon.
Learn more about Carbon's design:
Carbon is committed to a welcoming and inclusive environment where everyone can contribute.