Why is D unpopular?

H. S. Teoh hsteoh at quickfur.ath.cx
Mon Nov 8 15:16:07 UTC 2021


On Mon, Nov 08, 2021 at 01:36:59AM +0000, arco via Digitalmars-d wrote:
[...]
> The other problem is that D seems deeply allergic to making hard
> decisions.  From reading this forum it seems to me that the overall
> attitude within D is that it should offer choices, not enforce
> decisions. But in the real world, that's often a bad thing. Another
> language with the same mantra was Perl.  Look at what happened to Perl
> the moment we got Python, Ruby etc. Enforcing decisions is a Good
> Thing: it ensures that people understand each other's code, that
> analysis tools can do a much better job, that people won't roll out
> their own error management that doesn't work together with someone
> else's, that there will be consistency in memory management, etc etc
> etc.  Once again, the two languages somewhat comparable to D that
> "made it", Go and Rust, are all about enforcing what they deemed to be
> their way to do things. That doesn't mean it's the only legitimate
> way, but it means that if you want to do X, this is how you do it in
> Go (not that there isn't a one true way, but you are free to try to
> devise 15 different ways). And if the Go way doesn't work for you,
> that's perfectly fine, there are other languages that would be a
> better fit for your problem. Same for Rust.
[...]

Interesting, one of the reasons I *like* D is because it lets me do the
deciding, instead of dictating how I should do things.  IMO it's what
makes it adaptable to all kinds of different tasks.  For one task I
might need heavy use of the OO paradigm, for another task I might need a
more functional approach, for yet another task, I might need to go
low-level C-like approach with manual loop unrolling and hand-tweaking
generated code.  D lets me do all of that without any encumbrance (I
don't have to e.g. do lip-service to OO just to get the thing to
compile, like I have to in say Java), and best of all, lets me do all of
that *in the same program* because it's all D.

I'm honestly surprised anyone would want it any other way! :-D  (Being
forced to do things one particular way is what drove me *away* from
languages like Java.)


T

-- 
Кто везде - тот нигде.


More information about the Digitalmars-d mailing list