Skip to content

Programming Quote by Thomas Homer-Dixon

Download Open image
““Writing and repairing software generally takes far more time and is far more expensive than initially anticipated. “Every feature that is added and every bug that is fixed,” Edward Tenner points out, “adds the possibility of some new and unexpected interaction between parts of the program.”19 De Jager concurs: “If people have learned anything about large software projects, it is that many of them miss their deadlines, and those that are on time seldom work perfectly. … Indeed, on-time error-free installations of complex computer systems are rare.”20 Even small changes to code can require wholesale retesting of entire software systems. While at MIT in the 1980s, I helped develop some moderately complex software. I learned then that the biggest problems arise from bugs that creep into programs during early stages of design. They become deeply embedded in the software’s interdependent network of logic, and if left unfixed can have cascading repercussions throughout the software. But fixing them often requires tracing out consequences that have metastasized in every direction from the original error. As the amount of computer code in our world soars (doubling every two years in consumer products alone), we need practical ways to minimize the number of bugs. But software development is still at a preindustrial stage—it remains more craft than engineering. Programmers resemble artisans: they handcraft computer code out of basic programming languages using logic, intuition, and pattern-recognition skills honed over years of experience.””

Thomas Homer-Dixon

3.6 out of 5 (8 ratings)

More by Thomas Homer-Dixon

Explore all 16 Thomas Homer-Dixon quotes

More Programming quotes

Browse all 6,476 Programming quotes