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