It is the year 2020: why should I use / learn D?

Chris wendlec at tcd.ie
Sun Nov 25 12:31:22 UTC 2018


On Sunday, 25 November 2018 at 04:23:37 UTC, Walter Bright wrote:
> On 11/24/2018 6:52 AM, Chris wrote:
>
> Your last statement will come true if autodecode is removed.


> I'm not saying you're wrong, but I've been bombarded with 
> messages for 15 years that consist of:
>
> 1. stop doing enhancements, just fix bugs
> 2. add in my favorite enhancement
>
> 1. don't break existing code
> 2. add in my favorite enhancement that breaks existing code
>
> usually in the same message from the same person.

You're mixing apples and oranges again. `autodecode` is an 
important change. You and Andrei have had no problems with 
breaking valid code for less. You seem to be in complete denial 
about `autodecode`.

`autodecode` is not the same as a random request by a random 
user. `autodecode` is essential but you tend to conflate it with 
random stuff and argue as if it were a random issue, a pet 
feature. Ironically enough, a lot of random stuff and pet 
features get more attention / higher priority than basic issues 
like autodecode.

>
> > But autodecode is not even open for discussion anymore.
>
> It is open. Nobody has shut down discussion of it. The trouble 
> is nobody yet has come up with a reasonable migration path that 
> doesn't result in normal, innocent code silently breaking.

Well, this is not the impression I get. Several people have 
suggested migration paths, reasonable ones, there are people who 
want to help out (I used to be one of them), and yet the paths 
are not even discussed. All we hear is "It will break a lot of 
code, and isn't that what you wanted to avoid?" In every thread 
about aotudecode it becomes clear that people want to get rid of 
it, yet nothing is ever done. I've been vocal about this and 
other things, but how many more users are there that don't air 
their opinions but want to see some change?

> BTW, you can defeat autodecode for your own programs by using 
> the .byChar filter:
>
> https://dlang.org/phobos/std_utf.html#byChar

Ordinary D code already has enough workarounds. Maybe this is 
something nobody ever brings up, but I've looked at vibe.d code 
and seen comments like "workaround for issue #1234", my own code 
has it and it often goes unnoticed because the fix takes so long 
that you simply forget about it, and when you finally see it you 
may not have the time to "fix the fix". It's not good for code 
hygiene.


More information about the Digitalmars-d mailing list