Every tool has its cost

tools,eclipse,ide,web-development

For such a fairly long time I haven’t written anything. Not because I don’t have anything to write, but it’s hard to pull complex things out of my head. But now it seems to be time for a warm-up :)

One of my senior, Mr An, has a favorite sayings: “Until you don’t depends on tools, you are not truly a developer.”

Truthfully, I don’t think I have fully understand what he means. A developer with more than 10 years in this industry may have a different view to a young one like me. But to some extent, it seems to be a good idea.

For a certain amount of time I have tackled Maven, Spring Framework, Java Serverpage, Freemarker… I end up spending most of the time trying to fix bugs, caused not only by the framework, but also by mis-configuring Eclipse & its plugins. To be honest, it’s annoying

Actually, Eclipse is such a good tool: nearly everything you think that a good IDE should have, it exists in this free solution: refactoring, navigation, source-control-supported, Maven-tools… Such many functions integrated in a single program. Pretty handy, isn’t it?

But here a problem arise: when you have too much utilities, it will be hard to have a meaningful organization. It make me frustrated when right-click in Eclipse and have a 20-items context menu pop up. Still, navigating through that menu isn’t as hard as understand why and how to use the Eclipse view, explorer, hot key, configuring it to auto-compiling… Those are also the things you need to know to speed the work up. As far as I know, there’s no simple coherent way to do all the tasks.

The same semaphore also applies to any of our developer tools, no matter if it’s an IDE, framework, libraries… or even, methods. In my view, the best tool is a tool with few familiar functions, so that we can easily master and get the best results with minimal efforts. But the fact is that, as long as people want to stuff their tools out to fit everyone needs, that goal is hard to meet.

You must master a tool before you can make it work for you, so there’s a hidden cost. Imagine, if a tool doesn’t allow you work 2 times faster, do you spend 2 weeks to master it, just for use in a 1-month project?

Let’s choose and use tools wisely.