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.

Reply via email to