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.