Carbon's goals set a high-level path for where Carbon should head. However, given priorities, it's not always clear how specific features or details may end up being evaluated.
Carbon's success criteria are specific, measurable, key results that we expect to use to see how Carbon is doing against its goals. Success criteria will be considered as part of Carbon's roadmap process, missing them will be considered significant, and extra scrutiny will be applied on proposals that would require diminishing them. These success criteria are not exhaustive, but they are a bar that we aim to exceed.
TODO: Add more metrics for various goals.
References: goal
This should not be considered an exhaustive list of important platforms.
Our priority OS platforms are modern versions of:
We expect to prioritize 64-bit little endian hardware, including:
We believe Carbon should strive to support some GPUs, other restricted computational hardware and environments, and embedded environments. While this should absolutely include future and emerging hardware and platforms, those shouldn't disproportionately shape the fundamental library and language design while they remain relatively new and rapidly evolving.
Example historical platforms that we will not prioritize support for are:
References: goal
Migrations must be mostly automatic. To that end, given an arbitrary large codebase following best practices, we aim to have less than 2% of files require human interaction.
This criterion includes:
This criterion does not include: