He Should Have Voided ‘Null’
Sir Charles Antony Richard Hoare (aka C.A.R. or Tony Hoare) is a British computer scientist who is probably best known for the development in 1960 of Quicksort, one of the world’s most widely used sorting algorithms. According to the Computer History Museum, Hoare developed the algorithm while working for the British computer company Elliott Brothers. Quicksort, it explains, “used a series of elements called ‘pivots’ that allowed for fast sorting.”
Sir Charles, it turns out, is a brave and chivalrous knight, because almost 50 years later, he’s now owning up to having made one of the biggest mistakes in software development history. At the QCon London software development conference in March, Hoare took part in a track called “Historically Bad Ideas,” which featured “technology directions that were once discussed almost like silver bullets but which later proved to be bad ideas or short-lived fads.”
It seems that Sir Charles is distressed about having created the “null reference.” “I call it my billion-dollar mistake,” said Hoare in a report on the QCon site. “But I couldn’t resist the temptation to put [it] in, 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. . . . Recent programming languages like Spec# have introduced declarations for non-null references. This is the solution, which I rejected in 1965”—44 years and a billion dollars ago.