Collective Wisdom from the Experts 87
In addition to improving your understanding of the build process, there are some
tasks that can be performed more easily or more efficiently with command-line
tools than with an IDE. For example, the search and replace capabilities pro-
vided by the grep and sed utilities are often more powerful than those found
in IDEs. Command-line tools inherently support scripting, which allows for
the automation of tasks such as producing scheduled daily builds, creating
multiple versions of a project, and running test suites. In an IDE, this kind of
automation may be more difficult (if not impossible) to do, as build options
are usually specified using GUI dialog boxes and the build process is invoked
with a mouse click. If you never step outside of the IDE, you may not even
realize that these kinds of automated tasks are possible.
But wait. Doesn’t the IDE exist to make development easier and to improve
the programmer’s productivity? Well, yes. The suggestion presented here is
not that you should stop using IDEs. The suggestion is that you should “look
under the hood” and understand what your IDE is doing for you. The best way
to do that is to learn to use command-line tools. Then, when you go back to
using your IDE, you’ll have a much better understanding of what it is doing for
you and how you can control the build process. On the other hand, once you
master the use of command-line tools and experience the power and flexibility
that they offer, you may find that you prefer the command line over the IDE.