On Sun, 27 Sep 2009 01:49:45 +0400, Walter Bright
<[email protected]> wrote:
The problem with non-nullable references is what do they default to?
Some "nan" object? When you use a "nan" object, what should it do? Throw
an exception?
Oh, my! You don't even know what a non-null default is!
There is a Null Object pattern
(http://en.wikipedia.org/wiki/Null_Object_pattern) - I guess that's what
you are talking about, when you mean "nan object" - but it has little to
do with non-null references.
With non-null references, you don't have "wrong values", that throw an
exception upon use (although it's clearly possible), you get a correct
value.
If an object may or may not have a valid value, you mark it as nullable.
All the difference is that it's a non-default behavior, that's it. And a
user is now warned, that an object may be not initialized.