[OT] What are D's values?

Guillaume Piolat first.last at gmail.com
Thu Oct 7 13:29:34 UTC 2021


On Wednesday, 6 October 2021 at 23:26:14 UTC, Tejas wrote:
>
> So apart from the plasticity that others mention, why do you 
> feel D is better than the alternatives out there for your field 
> of work?

My field is largely dominated by C++. So I'll talk largely about 
that "obvious" alternative, that is C++.

I happen to have years of commercial experience in both. I feel 
qualified to have strong opinion in this case. So, what 
conclusion did I reach afters years of both C++ and D?

First of all:
- They are very different universe; you really do live in a 
different universe when full-time. The culture is completely 
different.

Secondly:
-  D lets me do my best work.
-  C++ makes me very unlikely to do my best work.

> Why do you continue to walk the path less travelled when others 
> enjoy the advantages of mainstream languages like better 
> tooling and greater stability, ie, fewer/no breaking changes 
> with each release(and disadvantages like various janky 
> workarounds for backwards compatibility, deigns/ideological 
> constraints, etc)?

But that description does not characterize mainstream C++. It's 
not at all what you describe once in the trenches.
In reality C++ doesn't compare favorably to D in pretty basic 
ways.

Tools in C++ are not much better for me (cmake vs dub, what would 
you really prefer?), build times are usually worse, compilers are 
also kinda crashy, STL is a lot less usable than Phobos. Would 
you rather read C++ or D all day long? Honestly.

Different, incompatible syntax to do things in different vendors. 
You absolutely do more backwards compatibility shenanigans in 
C++, if only because the standard advance so quickly, and the 
stdlib are made differently - at different stages of the newest 
standard.

And C++ is also a bad learning investment for anyone, since you 
cannot learn C++ as fast as the Standard Comittee makes changes. 
D changes a lot less and you can learn it in 3x less time. 
Practionners then get the strangest Stockholm syndrom and take 
pride in knowing C++ minutiae like if it mattered.

The real question is: why start a green C++ project today instead 
of D. Apart from: staffing, specific platforms, or legacy I don't 
think the positives outweight the negatives.



More information about the Digitalmars-d mailing list