Just an example, why D rocks, and C++ s***s...

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Mon Mar 21 15:23:21 UTC 2022


On Monday, 21 March 2022 at 13:36:47 UTC, Tejas wrote:
> They point out that feature superiority does not compensate for 
> the ecosystem fragility

You cannot point to individual features (and especially not make 
assumptions about a feature that was added in C++20) and claim 
that it is somehow significant. You have to look at the whole 
package and how the features play together for a specific use 
case. Whether the eco system matters or not also depends on the 
use case (in many C++ scenarios you don't build on many external 
libraries, so that may or may not be significant, depends on the  
context).

You might argue that string mixin is a superior feature. Although 
that feature makes code much less maintainable (read the source 
code for the D standard library and you'll see why), so whether 
you classify that as an advantage or a way to aggregate debt and 
increase costs over the project life-time depends on whether you 
write larger programs that are maintained over a long period of 
time or not.

In the real world language-specific features have little impact 
on application development unless you use them to a large extent. 
Does anyone have a list of usage scenarios for compile time 
strings without string mixins that would motivate a programmer to 
shift to another language to get it? I've never had the need for 
it outside string mixins, so I would argue that how features play 
together typically is more important than any individual feature.

Right now, D lacks basic things that C++ programmers would 
expect, so if you want to sway them to switch over it is rather 
pointless to point at things they rarely need, or that they can 
implement in a few hours, or that is in the pipeline for 
C++23/C++26.

You need to point to a plan for how D is going to address those 
features they feel lacking.

Or, given the stagnation of D, it might be much better to stop 
focusing on C++ and do something completely different from what 
C++ does.





More information about the Digitalmars-d mailing list