Everyone knows about the hammer and nail saying, "If all you have is a hammer, everything looks like a nail," but that's just one end of the spectrum.

On the other end, there's the problem of inventing (or using)* a tool to solve a problem that another can solve with a little extra effort. Eventually, carrying around so many tools becomes unwieldy and not worth the effort.

Is there a saying for this?


By omitting details, I seem to have put too much emphasis on invention. I am familiar with reinventing the wheel and NIH syndrome, but that's not what I am getting at. My specific problem comes from programming languages (and I apologize for the jargon).

Every few weeks, a coworker suggests to me that Java is a good language. He also likes a few other scripting languages that have niche roles. When I tell him that Java is objectively a bad, he says "Whoah whoah whoah. Now, besides being garbage collected and verbose, what's bad about it?" For the uninitiated, that's enough to make a language bad, but I give him like three or four other reasons beside those, and he goes "Oh, oh, okay... It's about using the right tool for the job." He proceeds to forget what I've said and make the same arguments a few weeks later...

This a common problem in the software industry right now. People find excuses to use different programming languages for different tasks, simply because they assume that they exist for reason, and it's there job to figure out what that reason is. Simplifying a bit, I argue that we could get away with one language with both low-level and high-level features, one that can do anything that the niche languages can do, maybe 15% less ergonomically.

I am looking for an expression outside of the software industry that can help put this problem into perspective for people who are stuck in this mindset. From the ones offered so far, "If you don't have a hammer, nothing looks like a nail" comes the closest.

  • 1
    I don't know a proverb, but the expression "reinventing the wheel" conveys the message. There is also "Not invented here" syndrome, which causes people to refuse to use a better mousetrap of someone else's invention..
    – remarkl
    Commented Feb 2, 2019 at 13:42
  • "If all you have is a hammer, nothing looks like a nail."
    – Greg Lee
    Commented Feb 2, 2019 at 13:51
  • 1
    Google Books claims 17,400 written instances of the right tool for the job, which seems pretty "opposite" to me. Commented Feb 2, 2019 at 14:10
  • 1
    If you have every tool but a hammer, you will need to hammer a nail. -- Murphy
    – TimR
    Commented Feb 2, 2019 at 14:55
  • 2
    Apparently the language has just the right number of pithy sayings. Eventually, too many pithy sayings becomes unwieldy.
    – TimR
    Commented Feb 2, 2019 at 15:00

1 Answer 1


The perfect is the enemy of the good.

According to this article, this fairly common expression is a paraphrase of quotes from several of well-known sources (Confucius, Shakespeare, and Voltaire). It conveys the idea you seem to be getting at: that some people tend to shun options that are 'good enough,' and push instead for options that absolutely ideal -- even if the benefits don't justify the extra effort.

In your case, when your programmers want to branch out into a dozen extra languages because they're marginally better for this or that specific task, you could ask them, "Look, don't you realize you're letting the perfect be the enemy of the good?"

  • 1
    Not bad at all. I'm not sure that I can reasonably expect something more pithy than this. It makes for a short comeback that's not offensive, so I'll accept. I might drop some of the articles and make it "Perfect is the enemy of good." It's not perfect, but it'll do ;) Commented Feb 3, 2019 at 11:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.