Why I Like D

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Jan 14 10:38:17 UTC 2022


On Friday, 14 January 2022 at 02:13:48 UTC, H. S. Teoh wrote:
> compiler). You can write functional-style code, and, thanks to 
> metaprogramming, you can even use more obscure paradigms like 
> declarative programming.

No, you can't. You can do a little bit of weak declarative 
programming in C++ thanks to SFINAE. The D type system does not 
provide a capable solver.


> I can theoretically do everything in C++ that I do in D, for 
> example,

Only with the GC, and even then that claim is a stretch. Without 
the GC you loose features that C++ has.


> In C++, I'm guaranteed that there is no GC -- even when having 
> a GC might actually help me achieve what I want.  In order to

You have access to several GCs in the C++ eco system.


> that are not compatible with the GC, etc.. Definitely NOT worth 
> the effort for one-off shell script replacements. It takes 10x

Never seen a scripting problem that cannot be handled well with 
Python, why would I not use Python for scripting?

When you sacrifice system level programming aspect in order to 
make scripting more convenient, then you loose focus. And people 
who primarily want to do system level programming will not 
respond well to it.

Hardly surprising.


> With D, I can work at the high level and solve my problem long 
> before I even finish writing the same code in C++.

This is great, but does not solve the other issues.


> And when I need to dig under the hood, D doesn't stop me -- 
> it's perfectly fine with malloc/free and other such 
> alternatives.

Nobody are fine with malloc/free. Even in C++ that is considered 
bad form.

This is why these fanboy-discussions never go anywhere. People 
make up arguments and pretend that they are reality.

Well, it isn't.

Rust and C++ are doing better than D in terms of adoption, and it 
isn't just marketing. It is related to actual design 
considerations and a willingness to adapt to the usage scenario.

Rust has actually focused on runtime-free builds. They pay 
attention to demand. Despite Rust being "high level" and 
"normative" they pay attention to system level usage scenarios 
beyond those of browsers. I think this is why it is easier to 
belive in the future of Rust than many other alternatives. And I 
don't have a preference for Rust, at all.




More information about the Digitalmars-d-announce mailing list