Dicebot on leaving D: It is anarchy driven development in all its glory.
Laeeth Isharc
laeeth at laeeth.com
Sat Sep 8 14:05:04 UTC 2018
On Thursday, 6 September 2018 at 20:15:22 UTC, Jonathan M Davis
wrote:
> On Thursday, September 6, 2018 1:04:45 PM MDT aliak via
> Digitalmars-d wrote:
>> D makes the code-point case default and hence that becomes the
>> simplest to use. But unfortunately, the only thing I can think
>> of
>> that requires code point representations is when dealing
>> specifically with unicode algorithms (normalization, etc).
>> Here's
>> a good read on code points:
>> https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-un
>> icode-code-points/ -
>>
>> tl;dr: application logic does not need or want to deal with
>> code points. For speed units work, and for correctness,
>> graphemes work.
>
> I think that it's pretty clear that code points are objectively
> the worst level to be the default. Unfortunately, changing it
> to _anything_ else is not going to be an easy feat at this
> point. But if we can first ensure that Phobos in general
> doesn't rely on it (i.e. in general, it can deal with ranges of
> char, wchar, dchar, or graphemes correctly rather than assuming
> that all ranges of characters are ranges of dchar), then maybe
> we can figure something out. Unfortunately, while some work has
> been done towards that, what's mostly happened is that folks
> have complained about auto-decoding without doing much to
> improve the current situation. There's a lot more to this than
> simply ripping out auto-decoding even if every D user on the
> planet agreed that outright breaking almost every existing D
> program to get rid of auto-decoding was worth it. But as with
> too many things around here, there's a lot more talking than
> working. And actually, as such, I should probably stop
> discussing this and go do something useful.
>
> - Jonathan M Davis
A tutorial page linked from the front page with some examples
would go a long way to making it easier for people. If I had
time and understood strings enough to explain to others I would
try to make a start, but unfortunately neither are true.
And if we are doing things right with RCString, then isn't it
easier to make the change with that first - which is new so can't
break code - and in some years when people are used to working
that way update Phobos (compiler switch in beginning and have big
transition a few years after that).
Isn't this one of the challenges created by the tension between D
being both a high-level and low-level language. The higher the
aim, the more problems you will encounter getting there. That's
okay.
And isn't the obstacle to breaking auto-decoding because it seems
to be a monolithic challenge of overwhelming magnitude, whereas
if we could figure out some steps to eat the elephant one
mouthful at a time (which might mean start with RCString) then it
will seem less intimidating. It will take years anyway perhaps -
but so what?
More information about the Digitalmars-d
mailing list