The Expressive C++17 Coding Challenge in D

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Wed Feb 14 09:50:31 UTC 2018


On Wednesday, 14 February 2018 at 09:28:48 UTC, psychoticRabbit 
wrote:
> yeah.. even the more modern C++ code still makes me want to 
> stay clear of it...(perhaps even more so).
>
> I just never get the same feeling when I look at D programs.

I get the same feeling from both languages, to be honest.  
Average library code for both languages are harder to read than I 
think should be the norm (granted Python libs can also be 
somewhat hard to read, but still much easier on average).  Both 
languages are easier to read when you spend time with them 
yourself, obviously.  Both languages are easier to read when the 
programmer has been conservative in his/her use of features.

This situation is what happens when you add features at a high 
rate in the early years and don't want to clean up because of 
backwards compatibility. C++ has been at it for longer and are 
adding more features at a higher rate than D... so C++ becomes 
harder and harder to master if you read other people's arbitrary 
code. That doesn't mean D shouldn't clean up... I'd say it is 
necessary to get ahead.

For both languages you can always stick to your own idioms and 
write cleaner code than you see on github, and blog posts tend to 
be feature-show-offs (surprisingly often written by people who 
don't write a lot of code in the language they are posting about) 
so I don't think blogs are the right measure. Look at large code 
bases that are in widespread use to get an idea of what happens 
over time in terms of maintainability.

Anyway, C++ at this point has slightly better lambdas than D and 
D will notice the competition if C++ ends up adding stackless 
coroutines (e.g. Python like generators). Not a big discrepancy 
in features at this point, but C++ is moving at a higher rate... 
and that should be a concern if C++ is viewed as a competitor.

If C++ isn't viewed as a competitor, why bother with repetitive 
complaining about C++?



More information about the Digitalmars-d-announce mailing list