cppfront
carbon-lang
cppfront | carbon-lang | |
---|---|---|
88 | 177 | |
5,197 | 32,331 | |
- | 0.4% | |
9.5 | 9.8 | |
about 14 hours ago | 4 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cppfront
-
Trip C++Now 2024 – think-cell
I’m not fond of adding an increasing number of specific compiler options for memory-safety. I love -faddress=sanitizer or -fsanitize. But the historically growing number of warning which need to be turned on is an issue. For example the options -Wconversion, -Wsign-conversion and -Warith-conversion shall be default with C++26. And if your code doesn’t compile use either an older revision or turn it deliberately off (saying: I’m aware, read the handbook, I take the risk).
I want some of not all the ideas of CPP2/cppfront[1] in C++XX. Finally using #unsafe when needed, like Rust. C++ does evolve over decades, more like other languages.
[1] https://github.com/hsutter/cppfront
-
GCC 14.1 Release
CPP2/cppfront:
https://github.com/hsutter/cppfront
I hope we see this in C++26 as optional mode i.e. #safe and #unsafe and same for #impdef or so.
-
Compilation of gripping C++ conference talks from 2023
C++23 is done. But C++ is not! In this talk, the author shares his personal perspectives on an ongoing and very active evolution of C++, updates on his cppfront experimental compiler, and why compatibility is essential to the further success of the C++ development.
- Show HN: a Rust Based CLI tool 'imgcatr' for displaying images
- Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
-
C++ Safety, in Context
https://github.com/hsutter/cppfront
But his side project at Microsoft didn't gain traction with gcc, clang, etc and everybody else in the industry. So at this point, the C++ committee will be perceived as "so far behind" ... because there's nothing for them to vote on.
- Cppfront: Experimental C++ Syntax 2 –> Syntax 1 compiler
- Odin Programming Language
- Cppfront
-
C++ Should Be C++
C++ has major flaws that cannot be rectified without serious breaking changes. With that said, Herb has been experimenting with a new cpp frontend with sane defaults [1].
In my opinion, the world is on standby until Anders Hejlsberg feels like tackling a modern, next generation systems language.
[1] https://github.com/hsutter/cppfront
carbon-lang
-
Circle C++ with Memory Safety
Thanks for clarifying that point. It's worth pointing out that the safety strategy doc[0] mentions that
>A key subset of safety categories Carbon should address are:
>[...]
>Data race safety protects against racing memory access: when a thread accesses (read or write) a memory location concurrently with a different writing thread and without synchronizing
But then later in the doc it says
>It's possible to modify the Rust model several ways in order to reduce the burden on C++ developers:
>Don't offer safety guarantees for data races, eliminating RefCell.
>[...]
>Overall, Carbon is making a compromise around safety in order to give a path for C++ to evolve. [...]
One could read this as saying that guaranteed safety against data races is not a goal. Perhaps this doc could be reworded? Maybe something like "Carbon does not see guaranteed safety against data races as strictly necessary to achieve its security goals but still we still currently aim for a model that will prevent them."
[0] https://github.com/carbon-language/carbon-lang/blob/trunk/do...
-
Gio UI – Cross-Platform GUI for Go
It's even a core point for Carbon, their hopeful C++ replacement
Under language goals on their readme,
> We also have explicit non-goals for Carbon, notably including:
> * A stable application binary interface (ABI) for the entire language and library
> * Perfect backwards or forwards compatibility
There's also this blurb
> Our goals are focused on migration from one version of Carbon to the next rather than compatibility between them. This is rooted in our experience with evolving software over time more generally and a live-at-head model. Any transition, whether based on backward compatibility or a migration plan, will require some manual intervention despite our best efforts, due to Hyrum's Law, and so we should acknowledge that upgrades require active migrations.
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
- Carbon Copy Newsletter No.2
-
Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
The roadmap for Carbon [0] mentions wanting to have basic, non-trivial programs written in Carbon by the end of 2024. They're aiming for a v0.1 release in 2025. If it gains traction, they're aiming for a v1.0 beyond 2027.
I don't think anyone outside Google will seriously adopt this before it reaches v1.0. Even within Google, they may choose other options.
[0] - https://github.com/carbon-language/carbon-lang/blob/trunk/do...
- Carbon Language Newsletter, the Carbon Copy, February 2024
-
Odin Programming Language
Carbon was started by Chandler Carruth, at Google, but they wanted to move it to broader governance quickly. It's not under the Google GitHub today, but its own org.
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
-
C++ Should Be C++
What do you think about Carbon[1]? I am hopeful.
[1] https://github.com/carbon-language/carbon-lang
- The NSA advises move to memory-safe languages
- Carbon Language: An experimental successor to C++
-
Toward a TypeScript for C++"
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
next year 0.1 will be usable, 1.0 is about 3 years away, sigh, back to my rust fight
What are some alternatives?
jakt - The Jakt Programming Language
rust - Empowering everyone to build reliable and efficient software.
serenity - The Serenity Operating System 🐞
crubit
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Odin - Odin Programming Language
exotracker-cpp
go - The Go programming language
LoopModels - "Full speed or nothing." - James Hetfield
hylo - The Hylo programming language
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
Rustler - Safe Rust bridge for creating Erlang NIF functions