Null References: The Billion Dollar Mistake (Primary source)
A conference presentation where Tony Hoare reflects on his 1965 introduction of the null reference in ALGOL W, candidly calling it his “billion-dollar mistake” due to the widespread software errors and system crashes it has caused over the decades.
More about “Null References: The Billion Dollar Mistake” →
“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.”
Tony Hoare
“What is the central core of the subject [computer science]? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline? My answer to these questions is simple—it is the art of programming a computer.”
— Tony Hoare Primary source“The price of reliability is the pursuit of the utmost simplicity.”
— Tony Hoare Primary source“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.”
— Tony Hoare Primary source“In all branches of commerce and industry, history shows dramatic reduction in the error rates when their cost is brought back from the customer to the perpetrator.”
— Tony Hoare Primary source“Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors.”
— Tony Hoare Primary source“You don’t need to take the last dollar.”
— Charlie Munger Primary source“The coward dies a thousand deaths, the brave but one.”
— Ernest Hemingway Primary source“Never interrupt someone doing something you said couldn’t be done.”
— Amelia Earhart DisputedNull Software Design Reliability