4 ms·
Something else must be playing here and I'm pretty sure most of the annoyences did not get solved, mostly because of backward compatability guarantees. It is re
by nuancebydefault 4y ago
Something else must be playing here and I'm pretty sure most of the annoyences did not get solved, mostly because of backward compatability guarantees. It is really a pitty that c/c++ did not get pushed away by competing languages that do/did not have so much of a legacy of sub-par development tooling. Friendlier and better designed languages like C#, Rust or even Python still seem to have some disadvantages that prevented that from happening.
- deleted 4y ago[deleted]
- JonChesterfield 4y agoC++ essentially killed C. Counterexamples exist but they're hard to find and sometimes involve there being no C++ compiler on the target. 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.
- WalterBright 4y agoD is 100% Boost licensed.
- JonChesterfield 4y agoThese days yes. Has LLVM and GCC front ends too, very easy to get going with it. 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.
- WalterBright 4y agoThe front end was open sourced around 2005 or so, and it was also paired with gcc to have a fully open sourced Gnu D gdc compiler. There's also the fully open sourced ldc compile based on LLVM. We couldn't get the dmd backend open sourced until 2017, but everything else was open sourced.
- remexre 4y ago> I personally think the end is in sight for C++ but the consensus seems to be it'll live forever. 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.
- marcosdumay 4y agoD didn't bring a lot to replace C, only C++. Compared to C it's a lot more of high level stuff, for niches where the language is dead for decades anyway, and not much more for the things C was still good at. 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.