Null References: The Billion Dollar Mistake - Tony Hoare
Video is from: https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare It deserves to be more widely known and seen. Summ...

JoseCan
62.8K views β’ Jul 24, 2019

About this video
Video is from: https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare
It deserves to be more widely known and seen.
Summary
------------
Tony Hoare introduced Null references in ALGOL W back in 1965 "simply because it was so easy to implement", says Mr. Hoare. He talks about that decision considering it "my billion-dollar mistake".
Key Takeaways
---------------
- Null references have historically been a bad idea
- Early compilers provided opt-out switches for run-time checks, at the expense of correctness
- Programming language designers should be responsible for the errors in programs written in that language
- Customer requests and markets may not ask for what's good for them; they may need regulation to build the market
- If the billion dollar mistake was the null pointer, the C gets function is a multi-billion dollar mistake that created the opportunity for malware and viruses to thrive
Introducing null
------------------------
- 27:40 This led me to suggest that the null value is a member of every type, and a null check is required on every use of that reference variable, and it may be perhaps a billion dollar mistake.
- 28:00 Modern languages such as C# or Spec# and even Java are introducing the idea of non-null reference parameters, and compile time checking which verifies that they cannot possibly have null values.
- 28:50 The issues of overloading and inheritance make it a lot more difficult to do these when null references were originally created.
- 29:20 The movement must have been made based on the fact that null references were an expensive mistake.
It deserves to be more widely known and seen.
Summary
------------
Tony Hoare introduced Null references in ALGOL W back in 1965 "simply because it was so easy to implement", says Mr. Hoare. He talks about that decision considering it "my billion-dollar mistake".
Key Takeaways
---------------
- Null references have historically been a bad idea
- Early compilers provided opt-out switches for run-time checks, at the expense of correctness
- Programming language designers should be responsible for the errors in programs written in that language
- Customer requests and markets may not ask for what's good for them; they may need regulation to build the market
- If the billion dollar mistake was the null pointer, the C gets function is a multi-billion dollar mistake that created the opportunity for malware and viruses to thrive
Introducing null
------------------------
- 27:40 This led me to suggest that the null value is a member of every type, and a null check is required on every use of that reference variable, and it may be perhaps a billion dollar mistake.
- 28:00 Modern languages such as C# or Spec# and even Java are introducing the idea of non-null reference parameters, and compile time checking which verifies that they cannot possibly have null values.
- 28:50 The issues of overloading and inheritance make it a lot more difficult to do these when null references were originally created.
- 29:20 The movement must have been made based on the fact that null references were an expensive mistake.
Tags and Topics
Browse our collection to discover more content in these categories.
Video Information
Views
62.8K
Likes
939
Duration
01:01:59
Published
Jul 24, 2019
User Reviews
4.6
(12) Related Trending Topics
LIVE TRENDSRelated trending topics. Click any trend to explore more videos.
Trending Now