D has become unbearable and it needs to stop

Hipreme msnmancini at hotmail.com
Thu Jun 8 19:43:56 UTC 2023


On Thursday, 8 June 2023 at 13:38:20 UTC, GrimMaple wrote:
> I usually try to stay more silent (on the form at least), but I 
> think I reached my boiling point. I've been a (self employed) 
> full time D developer for almost 2 years now, developing quite 
> a large codebase of personal closed source projects, as well as 
> adopting some 3rdparty code like dlangui. And my life has 
> become particularly miserable in the last half a year or so.
>
> I wish I was exaggerating, but __every__ new DMD version breaks 
> some of my code, to a smaller or bigger extent. It can be 
> either my own code, or dependency code, but I started drowning 
> in deprecation messages or outright breakage. It's nearly 
> impossible to develop any reasonable 3rdparty in those 
> conditions. I'm tired of fixing things that weren't broken. And 
> I can't even imagine having to support multiple branches of 
> code because of those deprecations. But I probably should, as, 
> periodically, I get issues that dlangui can't compile with some 
> outdated dmd version. It's just insane!
>
> Recently, some of the changes resulted in direct API changes. 
> This is unacceptable, as it, basically, forces people to update 
> major versions and split the codebase between "before" and 
> "after". Also forcing them to support two version of the same 
> thing.
>
> There have been a lot of talk about Gripes, about the "Vision" 
> of D... But more than half a year passed, and yet the breakage 
> only gets worse, and nothing seems to be improving. At least in 
> regards of LTS. And with no proper LTS, no proper 3rd-party can 
> exist.
>
> So, as pissed as I am, please, for the love of everything, stop 
> breaking D. I understand the desire to improve the language, 
> but can you understand the desire to just... write working 
> code? Please, make D at least somewhat stable.


For facing reality, there is a bunch of code that were made in 
dlangui with a lot older version of the language. And right now, 
I don't see as much breakage as it happens with dlangui. There is 
a bunch of stuff that is being workarounded every version.

For Hipreme Engine, I do get some errors on users when they use a 
different version, what I've done is simply limiting their 
version (my build system also includes an auto download system 
for the expected D version). I'm always trying to stick to the 
most recent version because i know that if I stick too much time 
with a version, when needing to jump 10 versions, everything will 
be broken (specially since I'm maintaining my own runtime now).

The thing is that D doesn't have structure enough to get a LTS.
We can only try to always get newest ones because we don't want 
to deal with old and nasty bugs.

What I see right now is that D is in a constantly changing phase 
where they're trying to fix those billion bugs we had on bugzilla 
so it is quite normal to expect there will be a lot of breakage 
in this trail.

So, what I would recommend right now is literally adding more 
examples to buildkite and adding migration paths. Which would be 
a lot easier than maintaining 2 versions of the language (which I 
find rather unproductive most of the time)


More information about the Digitalmars-d mailing list