This was already discussed in the past, but I think it doesn't hurt rehashing it a little, when there's an opinion of a famous computer scientist and programmer like Tony Hoare: "Null References: The Billion Dollar Mistake" presentation:
>I call it my billion-dollar mistake. It was the invention of the null >reference in 1965. At that time, I was designing the first comprehensive type >system for references in an object oriented language (ALGOL W). My goal was to >ensure that all use of references should be absolutely safe, with checking >performed automatically by the compiler. But I couldn't resist the temptation >to put in a null reference, simply because it was so easy to implement. This >has led to innumerable errors, vulnerabilities, and system crashes, which have >probably caused a billion dollars of pain and damage in the last forty years. >In recent years, a number of program analysers like PREfix and PREfast in >Microsoft have been used to check references, and give warnings if there is a >risk they may be non-null. More recent programming languages like Spec# have >introduced declarations for non-null references. This is the solution, which I >rejected in 1965.< That's why day ago I have said that sooner or later D will have something like the ? syntax of Delight (and C#): http://delight.sourceforge.net/null.html Bye, bearophile