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.

When you display simple text in a browser, the browser will wrap the text at the edge of the page. You get maximum usage of your screen. With standard HTML, you can’t get the same behavior for a series of tables – you can choose to align them next to each other with “align=left” (and they’ll head right off the right edge of the page), or you can use default behavior, in which each subsequent table is displayed below the previous (and you waste the right side of the page).

CSS is groovy, if not a bit cryptic at times. In this case, it solves the problem perfectly – just put a [DIV] tag around each table, and set up the DIV style with [float:left]. Check out the result on my portal page. More CSS adventures to come, I’m sure…

I’ve framed Google!

After many heated discussions concerning frames, my conclusion is that either you’re a frames zealot or a frames bigot, there’s no middle ground. Well, zealots rejoice! My portal site now does Google framed searches. Type in a search in the google box, hit enter, and the results are displayed down the left pane. Click an item in the results, and the target is displayed in the right frame. It’s the only way to browse, IMHO (being a frames zealot)…

Read on for the techy details… (continued…)