empty arrays and cast(bool): WAT
Jonathan M Davis
jmdavisProg at gmx.com
Sat Feb 18 19:38:14 PST 2012
On Sunday, February 19, 2012 04:24:46 Timon Gehr wrote:
> > But the fact that == treats null and  as the same thing _does_
> > understandably cloud things a bit.
> Nothing cloudy about that, that is sane behaviour and I want it to be
> consistently carried out everywhere. ('is' can still do a binary
> compare, that is what it is designed to do.)
It's lunacy IMHO. null and empty should _never_ have been conflated. They are
two separate concepts. _That_ is a major wart in the language IMHO. We would
have better off to not have null arrays at all than this halfway nonsense. But
that ship sailed ages ago.
> I can't help myself noticing that you always seem to defend the position
> that makes the code more verbose.
I hadn't noticed. If that's true, it's probably because it's more explicit.
And with arrays, I don't trust them with regards to this sort of stuff
precisely because null and empty have been conflated. So, I check for what I
mean, whether that's null or empty. And I consider code like arr == null to be
sign that someone doesn't know what they're doing. Someone who understands how
arrays work in D should either be doing arr.empty or arr.length == 0 if
they're checking for empty and arr is null if they're checking for null.
- Jonathan M Davis
More information about the Digitalmars-d