string is rarely useful as a function argument
Jonathan M Davis
jmdavisProg at gmx.com
Thu Dec 29 14:05:15 PST 2011
On Thursday, December 29, 2011 11:32:52 Sean Kelly wrote:
> Don't we already have String-like support with ranges? I'm not sure I
> understand the point in having special behavior for char arrays.
To avoid common misusage. It's way to easy to misuse the length property on
narrow strings. Programmers shouldn't be using the length property on narrow
strings unless they know what they're doing, but it's likely the first thing
that any programmer is going to use for the length of a string, because that's
how arrays in general work.
If it weren't legal to simply use the length property of a char[] or to
directly slice it or index it, then those common misuages would be harder to
do. You could still do them via .rep or .raw or whatever we'd call it, but it
would no longer be the path of least resistance.
Yes, Phobos may avoid the issue, because for the most part its developers
understand the issues, but many programmers who do not understand them, will
make mistakes in their own code which should arguably be harder to make,
simply because it's the path of least resistance, and they don't know any
better.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list