I’ve often heard the saying “It’s a poor workman who blames his tools”. Remember in 2009: Twitter: blaming Ruby for their mistakes. While I agree with the substance of that post (that Twitter could’ve picked different tools or made Ruby suffice), seeing that saying again kind of set me off. Hence the present missive…
Whenever I hear (It’s a poor workman who blames his tools) used as a blanket statement it bugs me. You know, some tools really are better than others. And you know, sometimes a (workman) chooses or must make do with poor ones. Again, I’m not talking about Ruby here—I’m talking about that saying.
Mauves ovriers ne trovera ja bon hostill. [A bad workman will never find a good tool.] (French proverb, late 13th C. )
And that usage prevailed for about six centuries or so until this:
Good workmen never quarrel with their tools. (Byron, _Don Juan_, 1818)
which is pretty close to the prevalent version I hear all the time in the software community.
The earliest version says (a poor workman can’t do good work, no matter how good the tools are). Now I can get behind that one. No controversy there.
The latest version says a good workman can do good work no matter how poor the tools are. That presumes that the workman cannot choose his tools. For if he could choose his tools then he would be evaluated on his ability to choose them, and choosing bad ones would reflect poorly on his ability. Or perhaps the workman wouldn’t even bother choosing tools at all since all tools are equally usable (to the good workman.) And that just seems absurd on its face.
Tools do matter, and the ability to pick good ones often sets the very best workmen apart from their peers.