Null references (oh no, not again!)
Jason House
jason.james.house at gmail.com
Tue Mar 3 17:49:54 PST 2009
Andrei Alexandrescu Wrote:
> Daniel Keep wrote:
> > Just noticed this hit Slashdot, and thought I might repost the abstract
> > here.
> >
> > http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake
> >
> >> I call it my billion-dollar mistake. It was the invention of the null
> >> reference in 1965. [...] 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. [...] More
> >> recent programming languages like Spec# have introduced declarations
> >> for non-null references. This is the solution, which I rejected in
> >> 1965.
> >
> > -- Sir Charles Hoare, Inventor of QuickSort, Turing Award Winner
>
> I suggested to Walter an idea he quite took to: offering the ability of
> disabling the default constructor. This is because at root any null
> pointer was a pointer created with its default constructor. The feature
> has some interesting subtleties to it but is nothing out of the ordinary
> and the code must be written anyway for typechecking invariant
> constructors.
>
> That, together with the up-and-coming alias this feature, will allow the
> creation of the "perfect" NonNull!(T) type constructor (along with many
> other cool things). I empathize with those who think non-null should be
> the default, but probably that won't fly with Walter.
>
>
> Andrei
Alias this?
More information about the Digitalmars-d
mailing list