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