Dicebot on leaving D: It is anarchy driven development in all its glory.

Chris wendlec at tcd.ie
Sat Aug 25 13:15:25 UTC 2018


On Saturday, 25 August 2018 at 12:16:06 UTC, Laeeth Isharc wrote:

>
> Nassim Taleb writes about hormesis.  I'm not sure that breakage 
> of a non-serious kind is necessarily terrible.  It might be 
> terrible for you personally - that's not for me to judge.  But 
> it has the effect of building capabilities that have value in 
> other ways.
>
>

Unless you can afford to spend a lot of time on just fixing 
things, even small changes are annoying. I can understand that if 
a change is for the better in the long run it's worth breaking 
code, especially if you warn users so they know what's coming. 
But being "afraid" of every new version is not exactly a thing 
that encourages you to use D. Mind you, it's not just one program 
you have to maintain. Usually you have libraries and modules (and 
third party libs) that you haven't touched for a year or so and 
all of a sudden they don't compile anymore. You basically have to 
fix everything. And then there's vibe.d that has a hard time 
catching up with everything (Sönke is doing a great job, btw.) So 
you have a service based on vibe.d and somebody asks you to 
implement a trivial change (say sorting). You add it, compile it 
with the latest version of dmd and it gives you an error "XYZ is 
not supported when the moon is full". So you have to go back to a 
compiler version that works and you cannot benefit from e.g. the 
latest GC optimizations of D. You basically end up with a mess of 
different compilers for different code until you have fixed 
everything (which you don't have time for all the time). If your 
code is older than 2 or 3 versions of dmd, you are already in 
trouble and given the release frequency it happens quite fast.

Imagine, to fix a trivial bug or implement a simple feature you 
may have to stick to an outdated version of dmd or you have a 
ratio of 10% time spent on your own code 90% time spent on fixing 
what the latest release broke. Not good.

I am not being emotional, as you suggest. I'm talking about my 
practical experience and the challenges I face when I use D. And 
the prevalent attitude of "It's for your own good in the long 
run, you may not understand it now, but you will one day once 
you've followed the discussions on the forum and read the new 
specs!" is not helpful either when you need to get a job done. In 
the long run this might kill off D. And I'm someone who talks 
about it, imagine all the frustrated users who silently leave.

I have never encountered any such problems with any other 
language so far. Something tells me that there's something wrong 
with how D is managed.


More information about the Digitalmars-d mailing list