We’ve got Tony Hoare, an early pioneer that worked on Algol to thank for that. He rather regrets it:
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.
A billion is a low-ball number, I think.
UPDATE: C# version 8 and .NETCore have a decent solution for this problem, check out non-nullable reference types.