| ▲ | brabel 8 hours ago | |||||||
It was competing with C and Java when it came out. People who like C will not use a language with garbage collection, even one that allows you to not use it. Against Java, it was a losing battle due to Java being backed by a giant (Sun , then Oracle) and basically taking the world by storm. Then there were also license problems in early versions of D, and two incompatible and competing standard libraries dividing the community. By the time all these problems were fixed, like a decade ago, it was already too late to make a comeback. Today D is a nice language with 3 different compilers with different strengths, one very fast, one produces faster results, and one also does that by works in the GCC ecosystem. That’s something few languages have. D even has a betterC mode now which makes it very good as a C replacement, with speed and size equivalent or better than a C equivalent binary… and D has the arguably best meta programming capabilities of any language that is not a Lisp, including Zig. But no one seems to care anymore as all the hotness is now with Rust and Zig in the systems languages space. | ||||||||
| ▲ | jibal 5 hours ago | parent | next [-] | |||||||
I like and use D but Nim has better metaprogramming capabilities (but D's templates are top-notch except for the error message cascades). (And Zig's metaprogramming is severely hobbled by Andrew's hatred of macros, mixins, and anything else that smells of code generation.) | ||||||||
| ▲ | fuzztester 6 hours ago | parent | prev | next [-] | |||||||
Can you explain what BetterC is, and what it is used for? I think there's also something called ImportC. Not sure what that is either. I read the D blog sometimes, and have written some programs in D, but am not quite clear about these two terms. | ||||||||
| ||||||||
| ▲ | its_magic 6 hours ago | parent | prev [-] | |||||||
I had D support in my distro for a while, but regrettably had to remove it. There's just too many problems with this language and how it's packaged and offered to the end user, IMO. It was too much hassle to keep it around. To get it onto one's system, a bootstrapping step is required. Either building gcc 9 (and only gcc 9) with D support, then using that gcc to bootstrap a later version, or bootstrapping dmd with itself. In the former case I'm already having to bootstrap Ada onto the system, so D just adds another level of pain. It also doesn't support all the same architectures as other gcc languages. In the case of dmd, last I checked they just shove a tarball at you containing vague instructions and dead FTP links. Later I think they "updated" this to some kind of fancy script that autodownloads things. Neither is acceptable for my purposes. I just want a simple tarball containing everything needed with clear instructions, and no auto downloading anything, like at least 90% of other packages provide. Why is this so hard? Tip: pretend it's still the BBS days and you are distributing your software. How would you do it? That's how you should still do it. I haven't tried the LLVM D compiler, and at this point quite frankly I don't want to waste any more time with the language, in its current form at least--with apologies to Walter Bright, who is truly a smart and likeable guy. Like I said, it's regrettable. The only way to revive interest in D is through a well planned rebranding and marketing campaign. I think the technical foundation is pretty sound, but the whole image and presentation needs a major overhaul. I have an idea of how to approach that, were there interest. The first step would be to revive and update the C/C++ version of the D compiler for gcc so as to remove the bootstrapping requirement and allow the latest D to be built, plus a commitment to keeping this up to date indefinitely. It needs to support all architectures that GCC does. Next, a rebranding focused on the power of D without garbage collection. I'm willing to offer ongoing consultation in this area and assistance in the form of distro support and promotion, in exchange for a Broadwell or later Xeon workstation with at least 40 cores. (Approx $350 on Ebay.) That's the cost of entry for me as I have way too much work to do and too few available CPU cycles to process it. Otherwise, I sincerely wish the D folks best of luck. The language has a lot of good ideas and I trust that Walter knows what he is doing from a technical standpoint. The marketing has not been successful however, sadly. | ||||||||