Billion Dollar Foresight
summary
Claims null caused a “billion dollar mistake” and traces a real checkout bug where JavaScript undefined -> NaN propagates through arithmetic; Ruby fails earlier with a type error and Python throws an index error. Recommends TypeScript’s strict null checks but warns npm packages can hide problems with any. Presents Elm’s alternative: a Maybe container model, used across 250,000 lines of production code with only 6% of returns as maybe and zero null-pointer-style runtime crashes.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 6:05Ruby
- 9:51The End Symptom
- 10:49The Root Cause
- 12:41The System
- 16:04TypeScript
- 17:43String Null Check
- 18:52Package Ecosystem
- 20:35Billion Dollar Mistake
- 22:32Problems
- 23:22Forgiveness
- 25:32Index
- 26:45Index Errors
- 28:59No Null Errors
- 30:26All in Code
- 31:19CTW Code
related talks
01h 32mPlenary: Six Impossible Things
34mProgramming’s Greatest Mistakes
46mC++: No more nulls! (Fixing the billion dollar mistake)
01h 04mLocknote: Programming’s Greatest Mistakes
01h 04m#FAIL
01h 01mKeynote: Six Impossible Things
46mI fought the law and the law won
22mBugs That Made Headlines – and What They Reveal About How We Build Software
