But large things almost never keep-up with the times.
But large things almost never keep-up with the times.
D didn't replace C++. I wonder if that was related to the single proprietary implementation. The language seems more sensible to me.
Rust is aimed at replacing C and C++. There are others in the same field in various stages of development. Zig and carbon come to mind.
There's an uphill battle where lots of existing code is in C++ and people fear changing it. C was partly dismantled by C++ compilers promising better error diagnostics and being able to compile most C with minimal patching.
I personally think the end is in sight for C++ but the consensus seems to be it'll live forever.
D wasn't Boost licensed when I looked at it as a replacement for C++ about a decade ago. Wiki thinks the backend has been available since 2017. It looks like the source may have been available for longer than that but I missed the distinction between source available and open source if it was. That's how I ended up on the C++ path instead of the D one anyway, seems a credible risk others have the same experience.
We couldn't get the dmd backend open sourced until 2017, but everything else was open sourced.
As the office Rust shill, I'm actually pretty excited about a lot of Herb Sutter's work [1]; I think there's a reasonable argument to be made that a hypothetical C++29 will be as ergonomic as unsafe Rust, with the not inconsiderable benefit of being able to speak the C++ ABI. I don't think large projects like LLVM or Unreal would dream of rewriting to Rust in that time, so people will still be writing it in some form or another.
[1]: My top 3 would probably be cppfront's argument passing semantics, metaclasses, and deferred_heap, in that order. The latter two, IMO, are improvements on what Rust provides in the area.
But Rust brings you OOP-like structures without the C++ hidden machinery, generics (the two main reason people adopted C++), and a lot of code verification. And the language isn't much more complex than C. That combination is very enticing.
I do believe both languages are about to die (C and C++). It's just that when languages die, nobody notices for a decade or so. Even develovers keep getting more numerous for some time, and have their numbers slowly reduce through decades.