It’s said that a good craftsman doesn’t quibble with his tools, with the implication that it’s poor form to blame tools for mistakes. It would be better to say: “A good craftsman knows his tools.”

In the craft of programming,  tools give amazing productivity leverage; the best programmers are usually the ones who work at optimizing their tools and environment. I was reminded that I need to adopt that best-practice, as I wasted 30 minutes today chasing a bug in Javascript that a good IDE would have helped me find instantly. I had jumped in with a “simple tasks, just use basic editor”, since I was just trying a few things. However, since my larger goal is to build a rich web application, leveraging client-side Javascript frameworks like jQuery and Sproutcore; so I am better off setting up the right IDE right away and using it. A good IDE pays for itself in saved time a day.

Which one to use?  I’m downloading Aptana Studio 3, standalone for window, and it plugs into Eclipse for linux. There’s other options of Good JavaScript IDEs with jQuery support. Likewise in the Javascript frameworks for rich client web apps, there are many choices,  each of which individually will definitely bring productivity benefits, but choosing between them becomes a time sink. Open source has become such a powerful model for intellectual property development that we are awash in a plethora of open source tools in almost all areas of software development.

Using, learning, and adapting all these possible tools and libraries to a programming task takes time, so there is a balance between sharpening the saw and using it. The French have a saying:

C’est en forgeant qu’on devient forgeron.

It’s in the doing (forging) that one becomes the craftsman (blacksmith). Yes, but when the craftsman is working the forge, he knows his tools and uses the right tools for the job.

By Patrick