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

Chris wendlec at tcd.ie
Mon Aug 27 09:14:43 UTC 2018


On Sunday, 26 August 2018 at 22:44:05 UTC, Walter Bright wrote:
> On 8/26/2018 8:43 AM, Chris wrote:
>> I wanted to get rid of autodecode and I even offered to test 
>> it on my string heavy code to see what breaks (and maybe write 
>> guidelines for the transition), but somehow the whole idea of 
>> getting rid of autodecode was silently abandoned. What more 
>> could I do?
>
> It's not silently abandoned. It will break just about every D 
> program out there. I have a hard time with the idea that 
> breakage of old code is inexcusable, so let's break every old 
> program?

We all know that, but we also know that autodecode is a broken 
feature - which makes me shudder. So we are - once again - in the 
absurd situation where we have to say "If it's broke, don't fix 
it!" However, given the importance of string handling these days 
and given how basic a feature of any programming language it is, 
I'm surprised that nobody ever came up with a strategy to fix it. 
It was just said - ah, too dangerous, too complicated, let's 
leave bad enough alone. Do you think that companies that deal 
with languages would be happy to learn that D's string handling 
is a mess? That'd be an immediate show stopper. For these reasons 
I supported this particular breaking change.

It is unrealistic to assume that code will never break. But as I 
said in my post above, dmd should give guarantees of backward 
compatibility of at least N versions. Then we could be more 
relaxed about our code.

But breakage should be avoided where ever possible to begin with. 
To break code because you have to fix a badly implemented feature 
like partially constructed objects is just ridiculous.

You often say we have to report bugs etc., but a lot of D's 
issues are common sense issues that don't need massive community 
input, i.e. get the basics right, before adding new features for 
the heck of it, reliability, improved tools.

Do my suggestions really sound so unreasonable?

>> But what for was it introduced at all and why wasn't it 
>> thought through properly right from the start?
>
> Because nobody thought about that issue before. A lot of things 
> only become apparent in hindsight.

QED. With this approach you do more harm than good. I have a bad 
feeling about the way things are going atm.


More information about the Digitalmars-d mailing list