Hall of FameEdsger W. Dijkstra197230 min readintermediate
The Humble Programmer
Summary
Dijkstra recounts the early struggle for programming to be recognized as a profession, noting how increased hardware power paradoxically led to a "software crisis" by enabling more complex ambitions. He argues that machine designs often exacerbate this, emphasizing that the core challenge is managing complexity, not just hardware optimization.
- Programming struggled for professional recognition in its early days, lacking a defined body of knowledge and seen as less respectable than hardware engineering.
- The "software crisis" arose because increased hardware power enabled disproportionately complex software ambitions, making programming harder, not easier.
- Early programming focused on "clever tricks" and optimization for limited hardware, fostering a narrow view of the discipline's true nature.
- Dijkstra criticized "third generation" computer designs for prioritizing hardware metrics over programmability, setting back computing science by years.
Engineers interested in the historical roots of software complexity and the philosophical foundations of computer science should read this seminal essay.
9/10
