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.

Reply via email to