In my opinion, for a developer, choosing an editor is second in importance only to choosing a programming language. It’s worth spending some time exploring and getting past the inevitable learning curve of the better ones to give them a real “spin around the block”.

One thing to note is that many editors are part of an “IDE” (integrated development environment). IDE’s let you integrate tasks like compiling, debugging, version control, etc. into the editor’s environment. IDE’s usually target a specific platform – Windows, Java, etc.

VISUAL STUDIO

I have used the editor built into the Visual Studio IDE (thru 6.0) for years. It uses all the same keystrokes as Windows applications, which made it intuitive for me. It does everything I need, pretty much, except multiple-file-search-and-replace. You can write custom macros in Visual Basic. I’ve written macros to allow me to maintain ASCII logs of everything I do.

The Visual Studio IDE is of great assistance if you’re doing Windows development, but it’s just additional overhead if you’re not. I haven’t used their latest version that much yet (Visual Studio .net). The .net version adds a ton more IDE functionality that, again, can have pros and cons, depending on what you’re doing.

EMACS

I’m currently moving away from VS towards Emacs. IMHO, it’s “the” open-source editor. There are versions for Linux and Windows. The keystrokes are completely different, but not inherently any more difficult. It’s completely customizable with a Lisp macro language. It’s cross-platform, running on just about any system.

The reason I want to move completely to Emacs is that it is open-source and well supported. That means that I will likely be able to use it for the rest of my life. No company will pull it from the shelves or morph it into something else. I can put it on pretty much any OS and it will work the same. This is becoming more and more important to me.

I’m sure Emacs has the ability to integrate in an IDE fashion with tasks like using CVS for version control. I haven’t found much need for that in a Linux development environment, however, as tasks tend to be more distributed (I’ll go back to the command line to recompile, run the code, perform a version control task, etc).

LOTS OF OTHER CHOICES

There are other choices I’ve come across:

Multi-Edit I’ve used this a lot in the past, it’s rock solid and capable, but commercial, and currently Windows-only
linux support coming?
XEmacs Another version of Emacs
kind of “competing” with Emacs
vi IMHO you have to be a masochist to use this cryptic linux editor, but some swear by it
SlickEdit Commercial, cross-platform
JEdit Open-source, java-oriented
CodeWarrior Commercial, cross-platform, IDE, CodeWarrior-C++-compiler/debugger-oriented

There are a million others, commercial and free – try a google search for “editor programmer”…

CONCLUSION

As a final note, the only way to find the absolute best editor for yourself is to play with several – just like programming languages, there are lots of choices, and sometimes one works better than another for a given task. But finding a good base editor early in your career will pay off in spades.

Leave a Reply