On Tuesday, 14 June 2022 at 07:09:23 UTC, Ola Fosheim Grøstad wrote:
>On Tuesday, 14 June 2022 at 06:46:45 UTC, bauss wrote:
>I completely agree with this. It bothers me A LOT that it's the view of most people around here.
Why stop there? Why not remove any constraints in the language? After all you can just stop making mistakes. "Just don't do it."
Why do we need @safe, dip1000 etc.? Just verify the memory yourself, if you accidentally screw up then that's your fault, surely it isn't the language's fault.
@nogc? Nah we don't need that, just don't allocate using the GC.
When you end up adding more and more stuff to a language it is considered better to go back to the drawing board and start over.
Otherwise you’ll end up with a mess...
D is honestly a mess compared to when I first started using it over a decade ago, back then it was simple and you could easily do something in it.
Now you have this huge amount of attribute soup that you either need to sprinkle everywhere or you have to completely ignore.
The community and libraries etc. also feel a lot more divided, even compared to when tango was a viable alternative to phobos; at least that's how it feels from my point of view.
Also it's like D chooses the most complex implementations for every new feature that has to be added.
I came to D because it was easier to use and get things done in than any other languages, but over the past couple years I've slowly stopped starting new projects in D because it's becoming a drain to use and all its selling points are no longer selling points because other languages are either on pair with D or does it better.
D was on the path to greatness, but no more. It's spiraling down a bad path and it's honestly sad. It had so much potential and I'm not sure it'll ever recover.
The only way for D to ever succeed would be to start D3 ASAP and start by figuring out how to get rid of the attribute soup etc. because all it does is adding clutter and clutter is what makes a language difficult to use. C++ wasn't hard because of the technical stuff, but because there's a lot of clutter in the language with templates etc. IMHO.