Listen "Why Threads Are A Bad Idea (for most purposes)"
Episode Synopsis
This 1995 paper argues that threads, while powerful for achieving true CPU concurrency, are overly complex for most programming tasks. The author, John Ousterhout, contends that event-driven programming offers a simpler, more reliable alternative for applications such as GUIs and distributed systems. He highlights the difficulties of thread synchronisation, debugging, and performance optimisation, contrasting them with the relative ease of event handling. Ousterhout advocates using threads only when genuine parallel processing across multiple CPUs is essential, suggesting that even then, they should be confined to a core kernel within a predominantly single-threaded application. Ultimately, the paper promotes a pragmatic approach, prioritising simplicity and maintainability unless high-performance concurrency is absolutely necessary.
More episodes of the podcast Code Impact
Trello's Kafka Migration
19/01/2025
Wartime vs. Peacetime in Tech Companies
19/01/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.