Final by default?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Mar 13 08:26:42 PDT 2014


On 3/13/14, 2:49 AM, Don wrote:
> On Thursday, 13 March 2014 at 05:15:58 UTC, Sean Kelly wrote:
>> I find this a bit baffling.  Given the investment this customer must
>> have in D, I can't imagine them switching to a new language over
>> something like this.  I hate to say it, but this sounds like the
>> instances you hear of when people call up customer service just to
>> have someone to yell at.  Not that the code breakage is okay, but I do
>> feel like this may be somewhat of an exaggeration.
>
> And std.json is among the worst code I've ever seen. I'm a bit shocked
> that anyone would be using it in production code.

We're using it.

>> Regarding user retention... I've spent the past N months beginning the
>> process of selling D at work.  The language and library are at a point
>> of maturity where I think it might have a chance when evaluated simply
>> on the merits of the language itself.  However, what has me really
>> hesitant to put my shoulder behind D and really push isn't that
>> changes occur sometimes.  Even big changes.  It's how they're handled.
>> Issues come up in the newsgroup and are discussed back and forth for
>> ages.  Seriously considered.  And then maybe a decision is apparently
>> reached (as with this virtual by default thing) and so I expect that
>> action will be taken.  And then nothing happens.  And other times big
>> changes occur with seemingly little warning.  Personally, I don't
>> really require perfect compatibility between released, but I do want
>> to see things moving decisively in a clearly communicated direction. I
>> want to know where we're going and how we're going to get there, and
>> if that means that I have to hold on moving to a new compiler release
>> for a while while I sort out changes that's fine.  But I want to be
>> able to prepare for it.  As things stand, I'm worried that if I got a
>> team to move to D we'd have stuff breaking unexpectedly and I'd end up
>> feeling like an ass for recommending it.  I guess that's probably what
>> prompted the "almost lost a major client" issue you mentioned above.
>> This JSON parser change was more the proverbial straw than a major
>> issue in itself.
>
> I agree completely.
>
> Some things that really should be fixed, don't get fixed because of a
> paranoid fear of breaking code. And this tends to happen with the issues
> that can give nice warning messages and are easy to fix...
>
> Yet there are still enough bugs that your code breaks every release anyway.
> We need to lose the fantasy that there is legacy code which still compiles.
> Anything more than a year or so old is broken already.

Backward compatibility is more like a spectrum than a threshold. Not 
having it now is not an argument to cease pursuing it.


Andrei




More information about the Digitalmars-d mailing list