On Sunday, 23 September 2018 at 02:05:42 UTC, Jonathan M Davis
wrote:
With regards to D1 users who are unhappy with D2, I think that
it makes some sense to point out that a subset of D2 can be
used in a way that's a lot like D1, but ultimately, if someone
doesn't like the direction that D2 took, they're probably
better off finding a language that better fits whatever it is
that they're looking for in a language. Trying to convince
someone to use a language that they don't like is likely to
just make them unhappy.
- Jonathan M Davis
I think the problem is that D2 added too many things too fast,
often based on what was the latest CS/industry fashion of the
day. I'm not saying that all the features are useless, I'm just
saying that sometimes it's better to lean back for a while and
have a cuppa before you add and complicate things further. Not
all features that have been added are indispensable. I've
recently made the experience that you can get very far very fast
with a small and compact language that has useful features,
features that have been proven to be useful in _everyday
programming_ and were added for exactly this reason.
Posters on this thread have pointed out that one should avoid
certain keywords and features, if one wants a simpler experience.
However, the D community encourages people to use all the latest
fancy features and idioms, which to a certain extent you have to
do anyway if you use Phobos. So it's very confusing for newcomers
and sometimes for longtime users too and your code ends up
reflecting the various development stages of D2.
Maybe it's time for D3. Pick and choose the things that work and
really do make sense and discard others that don't add much value
but only bring trouble. I think D2 is a nice collection of Lego
bricks by now that could be used to build something truly great.