Code And Cocktails

On Craftsmen and Their Tools

| Comments

Reading Corey Haines' recent blog post "Blaming your tools"
(http://programmingtour.blogspot.com/2010/03/blaming-your-tools.html)
made me think about a few things about my relationship to the tools of
my craft.

I am a die hard Emacs (http://www.gnu.org/software/emacs/) user (and
also use VI - so no need for flames). I've been using Emacs since 1989
and it has been a solid tool in my toolbox the entire time. It is not
always the correct tool, and currently it is not my IDE for work (Visual
Studio 2010 is my current IDE); but always at least a fall-back. I am
often able to do "magic" that my other coworkers can't make happen
because I use Emacs; especially by recording macros and then applying
them to a large set of files. Or by creating quick Elisp programs to
generate data.

I am long time Unix user. My day job is on Windows - but I always
install Cygwin (http://www.cygwin.org). Again, like Emacs, I have been using
it since 1988/89 and it has only rarely let me down. Again - not always
the right tool; but always available. Also has allowed me to do "magic"
my coworkers have not been able to do.

Am I "[defending my] possibly old, less-effective tools"? I don't think
so. There are new tools I use, and I know that Emacs & Unix command
line are not perfect tools for all cases (but they come close!). I do
think it is important to find multi-purpose tools that can be used as
fall-backs when the specialized tools don't work. I see too many of my
coworkers who their fall-back tools are notepad.exe and cmd.exe. Which brings me to something I often wonder - Why don't some people
think about their tools? I keep running into (and working with) people
who are using tools they don't like, are not satisfied with, but they
don't look for better tools. Similarly they continue to do tasks
repetitively and inefficiently without looking for ways to either, not do
them at all, or to do them more efficiently.

(I kept wanting to say that these developers were 'content' or
'satisfied' - but really they aren't. They are not 'content' or
'satisfied' doing inefficient work with bad tools - but they keep right
on doing it.)