7 ms·
Based on this comparison : https://c3-lang.org/faq/compare-languages/ https://c3-lang.org/faq/compare-languages/ One would argue that the best C/C++ alternati
by Daril 1y ago
Based on this comparison :
https://c3-lang.org/faq/compare-languages/ https://c3-lang.org/faq/compare-languages/
One would argue that the best C/C++ alternative/evolution language to use would be D. D also has its own cross-platform GUI library and an IDE.
I wonder for which reasons D doesn't have a large base adoption.
- lerno 1y agoI can only speak for myself: 1. It is so big. 2. It still largely depends on GC (less important actually) It keeps adding features, but adding features isn't what makes a language worth using. In fact, that's one of the least attractive things about C++ as well. So my guess: 1. It betted wrong on GC trying to compete with C++. 2. After failing to get traction, kept adding features to it – which felt a bit like there was some feature that would finally be the killer feature of the language. 3. Not understanding that the added features actually made it less attractive. 4. C++ then left the GC track completely and became a more low level alternative to, at which point D ended up in a weird position: neither high level enough to feel like a high level alternative, nor low level enough to compete with C++. 5. Finally: the fact that it's been around for so long and never taking off makes it even harder for it to take off because it's seen as a has-been. Maybe Walter Bright should create a curated version of D with only the best features. But given how long it takes to create a language and a mature stdlib, that's WAY easier said than done.
- GoblinSlayer 1y agoIndeed, first get traction, then add as many features as you want and become perl. That's the real carcinization.
- pjmlp 1y agoI think the biggest issue has been trying to always chase the next big thing that eventually could bring mindshare to D, while not finishing the previous attempts, so there are quite a few half baked features by now. Even Andrei Alexandrescu eventually refocused on C++, and is contributing to some of the C++26 reflection papers.
- fuzztester 1y ago>while not finishing the previous attempts I agree, and that applies to many software projects, and not just programming languages only. >so there are quite a few half baked features by now what are some of those half baked features?
- pjmlp 1y agoThe new allocators, some corner cases of the destroy and destructors, not everything on Phobos is @nogc friendly, BetterC still chockes on many common C extensions, DIP 1000, the whole set of @live semantics. Now there is a new GC being redesigned, and there are discussions about a possible Phobos V3.
- tored 1y agoYou mean ImportC and not BetterC, right?
- pjmlp 1y agoRight, got that one wrong. Although, on the context of BetterC, there is the debate about having more regular features available in that mode as well.
- fuhsnn 1y ago> still chockes on many common C extensions I play with ImportC occasionally, a lot of those can actually be opt out by undef'ing __GNUC__ on the preprocessor invocation, idk why they don't do that. Oh, now it chokes on C23 features as well because system cpp defines __STDC_VERSION__=202311L now. Edit: that was solved: dlang/dmd/pull/21372
- fuzztester 1y agothanks. interesting, didn't know about the new GC, or possible Phobos V3
- arp242 1y agoThe dmd compiler not being open source until 2017[1] made it more or less a non-starter for a great many use cases. That would have been okay in the 80s, but with tons of languages to choose from since the 90s/00s, your language needs something very special to sell licenses. [1]: Specifically: "The Software is copyrighted and comes with a single user license, and may not be redistributed. If you wish to obtain a redistribution license, please contact Digital Mars."
- zamalek 1y ago6. It has exceptions. Many people consider that an anti-feature.
- throwawaymaths 1y agothis is spot on. With all due respect to his technical achievement (and maybe I'm just speaking for myself), Walter Bright very much has a "tryhard" persona online, which gives a lot of developers "the ick".