Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
Rushing to optimize before the bottlenecks are known may be the only error to have ruined more designs than feature creep. From tortured code to incomprehensible data layouts, the results of obsessing about speed or memory or disk usage at the expense of transparency and simplicity are everywhere. They spawn innumerable bugs and cost millions of man-hours - often, just to get marginal gains in the use of some resource much less expensive than debugging time
Interpretation
What this quote means
Optimizing without understanding the core issues leads to more problems than it solves, wasting time and resources.
This quote by Eric S. Raymond highlights the common pitfall in design and programming where a rush to optimize performance can overlook the fundamental bottlenecks of a system. The obsession with making things faster or more efficient often results in complicated solutions that introduce new bugs and challenges, consequently wasting more time and resources than would have been expended on simpler, clearer design choices.
Themes
In practice
Example use cases
During a software development meeting, this quote can be used to remind the team to prioritize understanding the system before diving into optimizations.
More from Eric S. Raymond
All quotes →Given enough eyeballs, all bugs are shallow (e.g., given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone).
Software is largely a service industry operating under the persistent but unfounded delusion that it is a manufacturing industry
Similar quotes
Digital media are biased toward replication and storage. Our digital photos practically upload and post themselves on Facebook, and our most deleted e-mails tend to resurface when we least expect it. Yes, everything you do in the digital realm may as well be broadcast on prime-time television and chiseled on the side of the Parthenon.
Space tourism is a logical outgrowth of the adventure tourist market.
It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.
Technology is a tool, and it's a platform. Nobody gets arrested for being a blogger; people get arrested for dissent. Nobody gets arrested for putting information about themselves online; they get arrested for being an activist. I'm a strong believer in the fact that you should not blame the tools; you should blame the circumstances.
Mobile phones are misnamed. They should be called gateways to human knowledge.
We want to reinvent the phone. What's the killer app? The killer app is making calls! It's amazing how hard it is to make calls on most phones. We want to let you use contacts like never before - sync your iPhone with your PC or mac.