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?
* EDIT
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.