Future of Coding

Beyond Efficiency by Dave Ackley

Mar 4, 2024
Dave Ackley challenges conventional software engineering by advocating for a balance between correctness and efficiency. The episode explores robustness in computing, prioritizing resilient solutions over peak performance. Examples range from RAID to Byzantine fault tolerance, highlighting the importance of handling unpredictable situations in software development.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Robustness Over CEO

  • David Ackley argues that modern software optimizes for correctness and efficiency only (CEO) at the expense of robustness.
  • He proposes prioritizing robustness (resilience to errors) before correctness and efficiency to handle real-world failures.
ANECDOTE

Sorting Example Shows Robustness Tradeoff

  • Ackley uses bubble sort versus quick/merge sort to illustrate robustness trade-offs under faulty comparators.
  • Bubble sort produced far fewer positional errors when comparators failed intermittently, despite being much slower.
INSIGHT

Assume Unreliable Primitives

  • Ackley suggests building systems assuming unreliable primitives rather than patching reliability onto deterministic hardware.
  • This reframing could enable new scalable architectures of many small cooperating unreliable components.
Get the Snipd Podcast app to discover more snips from this episode
Get the app