Tuesday, November 06, 2007

Choosing a programming environment

I have no religion when it comes to choosing programming environments. I used to use emacs a lot when I was working in Cisco. Most of the work I did was in C, and emacs/etags let me do powerful things and focus on programming rather than on the writing of programs. If you get what I mean...

At IBM, I persisted in using emacs because a) it was better than notepad b) it was a familiar beast and I had all sorts of customisations and c) the latest WebSphere Portal would not run except on the command line, so no IDE made sense.

And then it became possible to use Eclipse. with its command completions and refactoring, and code-snippet templates for things like for_loops, it let me operate with a much higher level of programming concepts than emacs ever did.

And now, working with nokia phones, I have been starting to learn python. My first reaction was to look for an eclipse python plugin - which had now supplanted emacs as my favourite editor. There is one, including one for directly writing progs. that work on the nokias.

But then, I came across the enhanced python-mode for emacs. This offers something that must be an obvious feature for every scripting language -- the ability to run each line of my python prog. with just a single hotkey made me switch back to emacs. PyDev hardly has the same sort of functionality.

Lesson to myself: For each problem, choose tools that have a good community already using them. That way you can actually focus on the problem rather than become a language lawyer, advocating new approaches and building the tools needed for your problem, rather than working on the problem solution itself.

No comments: