On Thursday, 29 December 2011 at 06:08:05 UTC, Andrei Alexandrescu wrote:
On 12/28/11 11:36 PM, Walter Bright wrote:
On 12/28/2011 8:32 PM, Adam D. Ruppe wrote:
On Thursday, 29 December 2011 at 04:17:37 UTC, Andrei Alexandrescu wrote:
If we have two facilities (string and e.g. String) we've lost. We'd
need to
slowly change the built-in string type.

Have you actually tried to do it?

I've seen the damage done in C++ with multiple string types. Being able
to convert from one to the other doesn't help much.

This.

The only solution is to explain Walter no other programmer in the world codes UTF like him. Really. I emulate that sometimes (learned from him) but I see code from hundreds of people day in and day out - it's never like his.

Once we convince him, he'll be like "ah, I see what you mean. Requiring .rep is awesome. Let's do it."


Andrei

I don't think this is a problem you can solve without educating people. They will need to know a thing or two about how UTF works to know the performance implications of many of the "safe" ways to handle UTF strings. Further, for much use of Unicode strings in D you can't get away with not knowing anything anyway because D only abstracts up to code points, not graphemes. Imagine trying to explain to the unknowing programmer what is going on when an algorithm function broke his grapheme and he doesn't know the first thing about Unicode.

I'm not claiming to be an expert myself, but I believe D offers Unicode the right way as it is.

Reply via email to