Remix.run Logo
nickysielicki 5 hours ago

The forever backwards compatible promise of C++ was a tremendous design mistake that has resulted in mindshare death as of 2026. It might suck to have to modify your code to continue to get it to work, but it’s the right long term approach.

the_duke 4 hours ago | parent | next [-]

Rust has managed just fine to remain mostly backwards compatible since 1.0 , while still allowing for evolution of the language through editions.

This puts much more work on the compiler development side, but it's a great boon for the ecosystem.

To be fair, zig is pre 1.0, but Zig is also already 8 years old. Rust turned 1.0 at ~ 5 years, I think.

melodyogonna an hour ago | parent [-]

Rust started in 2006 and reached v1 in 2015, that's 9 years.

fouronnes3 4 hours ago | parent | prev | next [-]

Mindshare death is a very large overstatement given the massive amount of legacy C++ out there that will be maintained by poor souls for year to come. But you are right, there used to be a great language hiding within C++ if the committee ever dared to break backwards compat. But even if they did it now it would be too late and they'd just end up with a worse Rust or Zig.

munificent 4 hours ago | parent | next [-]

The biggest problem with C++ is that while everyone agrees there is a great language hiding in it, everyone also has a remarkably different idea of what that great language actually is.

ChrisGreenHeur an hour ago | parent [-]

There are multiple great languages hiding within it

pjmlp 4 hours ago | parent | prev [-]

As proven a few times, it doesn't matter if committee decides to break something if compiler vendors aren't on board with what is being broken.

There is still this disconnection on how languages under ISO process work in the industry.

pjmlp 4 hours ago | parent | prev | next [-]

There is a reason GCC, LLVM, CUDA, Metal, HPC,.. rely on C++ and will never rewrite to something else, including Zig.

surajrmal 3 hours ago | parent [-]

Yes, inertia. If those projects started today, they would likely choose rust.

pjmlp 2 hours ago | parent [-]

Why isn't rustc using Cranelift then?

norman784 an hour ago | parent [-]

I can think a few reasons:

- Cranelift applies less optimizations in exchange for faster compilation times, because it was developed to compile WASM (wasmtime), but turns out that is good enough for Rust debug builds.

- Cranelift does not support the wide range of platforms (AFAIK just X86_64 and some ARM targets)

pjmlp 30 minutes ago | parent [-]

So it isn't just a matter of "they would use Rust instead".

There is a whole ecosystem of contributions across the globe and the lingua franca used by those contributors.

quotemstr 4 hours ago | parent | prev [-]

Hilariously, they broke this compatibility. std::auto_ptr was an abomination, but removing it from the language was needless and undermined the long term stability that differentiates C++ from upstarts.

ChrisGreenHeur an hour ago | parent [-]

those that used it were rightly punished by the removal