Goto There and Back Again
summary
A claim that reshapes practice appears and then takes decades to win: Dijkstra’s 1968 goto considered harmful sparks a 20 year fight that ends with most languages dropping goto while Java keeps it reserved; proofs of correctness promise but fail because proofs grow larger than programs; static types remain unresolved. Concrete tools and events: ES6 adds proper tail calls (a constrained, parameterized goto), Apple’s goto fail bug produces a real SSL bypass, and a daily code reading practice (dailies) plus pair programming demonstrably reduce mistakes.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:13Edgar Dijkstra
- 2:42The Argument
- 5:01The Moderates
- 7:37Progress
- 10:02Software Crisis
- 11:05Proofs of correctness
- 14:03Type systems
- 16:48Come from statement
- 17:59Tail calls
- 19:43The bug
- 21:56Paradigm shifts
- 24:21Functional programming timeline
- 27:22Code reading
- 31:21Questions
- 31:54How long does it take
- 35:03The Suicide Pact
- 37:03Lifecycle of Languages
- 42:03Arabian Algorithms
- 45:48Question
related talks
42mA Game of Theories: Why languages do what they do
47mA Game of Theories: why languages do what they do
39mInvent the future, don't recreate the past
24mOne Hundred Years of JavaScript
25mKablooie: A History of Errors & a Future of Solutions
32mBreak all the rules
25mBack to the Future
55mJavaScript the Grumpy Parts
