1. 程式人生 > >It’s okay. Use the wrong tool for this job.

It’s okay. Use the wrong tool for this job.

It’s okay. Use the wrong tool for this job.

Can we stop all of this “use-the-right-tool-for-the-right-job,” nonsense?

If you don’t have a hammer in your tool belt, you can use the back end of the screwdriver laying next to you to tap that nail in. I won’t tell anyone!

Sometimes, it’s just too inconvenient to go rummaging around in the garage for the toolbox to get the hammer out, and if the screwdriver is right there, well… why go through the trouble of finding the hammer?

Okay, that’s enough of the metaphor.

I’m just tired of seeing blog posts about XYZ programming language hating on other programming languages and how XYZ is The Right Tool For The Job.

More often than not, whatever you do know how to use and is convenient is the best thing to start with. If things start to fall apart or catch on fire, then maybe it’s time to learn XYZ programming language. But until you hit serious scale, the right tool is normally the one you have handy.

Whatever language or tools you’re using are probably Fast Enough. Generally speaking, I would guess that you’re going to be much better off by doing in depth research into the language.

And if you do decide to learn XYZ language, the skills you honed with the languages and tools you already know will almost always translate (at least for common tasks) when learning a new programming language. Whereas, if you just know a tiny bit of a bunch of different language,

you’ll end up like Starbuck (that is, stupid in 3 languages).

So, the next time you’re feeling down because you’re not using the hottest language or tool, because you know the old-timey, boring language really well, I won’t be mad at you. I promise.