Why is D unpopular?

Kapps opantm2+spam at gmail.com
Sat Nov 6 06:47:34 UTC 2021


On Tuesday, 2 November 2021 at 17:27:25 UTC, Dr Machine Code 
wrote:
> It got [asked on 
> reddit](https://www.reddit.com/r/d_language/comments/q74bzr/why_is_d_unpopular/) sub but for those that aren't active too, I'd like you opinions. Please don't get me wrong, I also love D, I've used it everywhere I can and I'd say it's my favourite language (yes I have one...) but I'm as as the reddit's OP, trying to understand why it's unpopular. Rust and Go seeming to be getting more and more users. I think it's due to large ecosystem and the big corporations with deep pockets that pushes them. But I'd like to know you all opinions

I used to use D a lot for hobby projects. But at some point, much 
of my code broke in ways that took me many hours to fix and still 
didn't get decent results. I forget the exact details, but I 
think one of the ones that caused me significant issues was 
something related to no longer being able to access private 
members in traits. And then eventually working around that, const 
just kept getting in the way for code that was previously okay. 
But during this, there were changes that sounded like 
improvements that weren't made in the spirit of not breaking 
code. All the while my code was breaking in very frustrating 
ways. There was also an aspect where the type of code I was 
writing (utilizes traits to generate runtime reflection 
recursively for types) would very frequently trigger new 
compiler/library bugs. I really enjoy the open source aspect of D 
and that I was able to make PRs to fix some of these bugs, but 
sometimes it was painful to figure out what was going on.

I'm going to be using D for one of the services in a project I'm 
working on soon as it's a good fit. I need a language that's easy 
to use, yet where I can have full memory control and native 
performance. Performance is the number one concern, and I won't 
need to use other cloud services or have many dependencies. D is 
a fantastic fit there, but I likely won't do it for too much 
more. In terms of language issues, personally the main thing that 
causes me frustration is issues with const and it just causing 
things to be... annoying when using templates (such as 
containers) or operators. Sometimes it feels like basics are 
missing from the standard library because they can be implemented 
using other constructs, but the way to do that isn't necessarily 
obvious.

The real problem though is not related to the language at all, 
it's just tooling and library support. I personally don't want to 
write a bunch of infrastructure around AWS to be able to deploy a 
Lambda that triggers from S3 events and reads/writes files while 
calling other AWS services. In addition, I've been very spoiled 
by the auto-complete present in languages like Go and C#, and 
it's really hard to go to a language that doesn't have virtually 
flawless completion (UFCS with templates and mixins inherently 
make these adding IDE features a nightmare I would think).


More information about the Digitalmars-d mailing list