4 ms·
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
by nickysielicki 7mo 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.
- fouronnes3 7mo agoMindshare 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.
- pjmlp 7mo agoAs 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.
- jonstewart 7mo agoThe C++ standards committee’s antiquated reliance on compiler “vendors” holds it back. They should adopt maintenance of clang and bless it as the reference compiler.
- pjmlp 7mo agoAnd you will be the one telling the losers that their compiler, operating systems and OS doesn't count? By the way this applies to the C language so beloved on this corner as well. As it does to COBOL, Fortran, Ada and JS (ECMA is not much different from ISO).
- munificent 7mo agoThe 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 7mo agoThere are multiple great languages hiding within it
- tialaramex 7mo agoI don't agree there's a great language hiding in C++. My high level objections would be that the type system is garbage and the syntax is terrible, so you'd need a different type system and syntax and that's nothing close to C++ after the changes. After many years of insisting that "dialects" of C++ are a terrible idea, despite the reality that most C++ users have a specific dialect they use - Bjarne Stroustrup has endorsed essentially the same thing but as "profiles" to address safety issues. So for people who think there is a "great language" in there perhaps in C++ 29 or C++ 32 you will be able to find out for yourselves that you're wrong.
- pjmlp 7mo agoThere is a reason GCC, LLVM, CUDA, Metal, HPC,.. rely on C++ and will never rewrite to something else, including Zig.
- surajrmal 7mo agoYes, inertia. If those projects started today, they would likely choose rust.
- pjmlp 7mo agoWhy isn't rustc using Cranelift then?
- norman784 7mo agoI 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 7mo agoSo 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.
- andriy_koval 7mo ago> There is a whole ecosystem of contributions across the globe and the lingua franca used by those contributors. which is slowly changing with wider rust adaptation.
- pjmlp 7mo agoWhere are the LLVM pull requests adding Rust code?
- quotemstr 7mo agoHilariously, 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 7mo agothose that used it were rightly punished by the removal
- the_duke 7mo agoRust 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 7mo agoRust started in 2006 and reached v1 in 2015, that's 9 years.
- kibwen 7mo agoRust existed nearly entirely on paper until 2009, when Mozilla started funding researchers to work on it full-time. It wasn't announced in any sort of official capacity until 2010, and had no official numbered release until 2012. It was less than three and a half years between 0.1 and 1.0, and in that time, hard as it is to believe, it underwent more overall change than Zig has.
- wolvesechoes 7mo ago> that has resulted in mindshare death as of 2026 I could make a bet that as of 2026 still more C++ projects are being started than Rust + Zig combined. World is much more vast than ShowHN and GitHub would indicate.
- whobre 7mo agoThe forever backwards compatible promise of C++ is pretty much the main reason anyone is using C++.