std.algorithm.remove and principle of least astonishment

Jonathan M Davis jmdavisProg at gmx.com
Tue Nov 23 10:54:16 PST 2010


On Tuesday, November 23, 2010 09:05:05 Andrei Alexandrescu wrote:
> > You just don't seem to get that learning is location depended. What makes
> > sense to YOU based on your location on the learning curve isn't absolute
> > and does NOT reflect on people with a different location on the learning
> > curve. This goes with many of your excellent implementations that get
> > awful names. Very C++ on your part - you need to be a c++ guru just to
> > write a hello world app.
> 
> I think I don't understand what you're suggesting.

I think that what he's saying is that the names char, wchar, and dchar as UTF-8, 
UTF-16, and UTF-32 code points respectively make sense to you because you're 
used to them, but for anyone learning D (particularly those who are used to char 
in other languages being an ASCII character) don't find it at all intuitive or 
obvious.

Honestly, the only semi-reasonable alternative to char, wchar, and dchar that I 
can think of would be utf8, utf16, and utf32. But then everyone would be 
wondering where char was, and I'm not sure that it would really help any in the 
long run anyway. It would be more explicit though. But given char and wchar_t in 
C++, I really don't think that it's much of a stretch to use char, wchar, and 
dchar. The only thing really different about it is that D insists that char is 
always a UTF-8 code unit rather than it really being useable as an ASCII 
character.

- Jonathan M Davis


More information about the Digitalmars-d mailing list