Clojure and Pull Request Controversy
Jon Degenhardt
jond at noreply.com
Fri Nov 30 01:49:38 UTC 2018
On Thursday, 29 November 2018 at 11:11:19 UTC, Walter Bright
wrote:
> I'd remove autodecode tomorrow if I could wave the magic wand.
> The problem, though, as I point out to you again, is removing
> it will silently break a great deal of code.
>
> You cannot have it be a deal-breaker both ways.
>
> I'll also emphasize that you can avoid autodecode in your own
> projects by using .byChar. You are not forced to suffer its
> depredations in your own code.
A number of people in the D community have made the argument to
me that autodecoding difficulties have been largely mitigated by
the availability of byChar and byCodeUnit.
My assessment is different. These are valuable primitives. I
think they suffice if developing small applications, or
applications which need high performance string handling only in
limited parts of the code. But I don't think they are sufficient
if building larger applications that generally need high
performance string handling throughout.
Part my viewpoint is from the perspective of development in team
environments. Litmus test questions are things like "how much
time will be spent in code review checking if autodecoding has
been engaged/avoided correctly?"
A specific issue with the byChar/byCodeUnit approach is that the
disabling of autodecoding gets dropped in common cases, for
example, materializing the range as an array. (An aside, but I
have wondered if having a character array type that
obeyed/preserved the no-autodecode property would be a material
help.)
I'm not trying to suggest how to weigh and tradeoff backward
compatibility vs improvements to or elimination of autodecoding.
Just trying to shed some light on why some people may have a
different assessment of the significance of autodecoding issues.
--Jon
More information about the Digitalmars-d
mailing list