Editors – a long story
Every now and then the same question pops up in a development forum or mailing list: Hey, guys, what editors do you use for language X ?
What’s weird is that the people that ask this are not necessary newbies. People with 3 or 5 years of experience ask this sometimes. This actually means that the person asking this has just become frustrated about their present editor.
Aside trying out different web languages from time to time, I also like to try out (new) editors every now and then. I think I’ve tried them all, more or less.
First there was Dreamweaver. I was just starting out, trying to understand why the HTML Dreamweaver or Photoshop ImageReady generated sucked, when I was using this. It was the golden age of ignorance, when I actually knew nothing about everything. I liked the pretty colours and the ability to edit files over FTP. To these days I consider this an important feature. Playing around a lot, just for fun, and having an unlimited hosting account means I need to edit files remotely without using svn or other versioning/deployment tools.
Then I think I found phpEd (first encounter), don’t remember why i gave it up then.
Then, the first true love: UltraEdit (or UltraStudio). Ahhh, and a sweet love affair it has been. Simple, yet powerful, starting in under 5 seconds on every machine I had, FTP access and multiple clipboards (niiiice) are just some of the things that pop to mind. And then another feature I learned to love and which actually made me hate a lot of editors that lacked it, the ability to switch between the last 2 files you are editing. A quick control-tab switches between the last 2 files (thing controller and view, or html and css file, possibilities are endless), even if one is the first and one is the last in the list of opened files, whereas pressing tab WITHOUT lifting your thumb from the ctrl key cycles through all open tabs/files. Some people say they don’t need because they only have a max of 2 files opened at once. I like to call them fundamentalists, or crazy. So speed, ftp and the quick-switch feature made UltraEdit a long-term relationship.
Then came Zend Studio. The original version. It was ok, i felt like a grown up. Dare you mock me cos I write php? I use a real editor, and from Zend, mind you! Look, I’m using a project! The files all know each other and they even communicate, they’re not just standing there looking awkward. There is even SVN integration. No quick-switch thow, a bit slow (well, like a powerfull diesel engine, right?) and no ftp IIRC. But the happiness was short lived. Zend switched to Eclipse.
Let’s get one thing straight. I hate Eclipse. The feeling is not eve mutual, Eclipse doesn’t care if you like it or not. Doesn’t care if you feel anally probed when using it. It just sits there, like a dumb beast. Yes, I know, I have no idea what I’m talking about. Eclipse is the next best thing after… hmm, vim? Offtopic, I’d like to see a fight between Eclipse and vim fans. The operating system of the editors fight the if-it-were-simpler-youd-have-to-write-it-yourself-editor!
Ok, so, I get it, Eclipse is great. BUT, i write for the web. I don’t use a compiler, my project structure is simple, there (usually) are no build tools involved, I sometimes need FTP, and, I know, I’m spoiled and picky, I like an editor that doesn’t have a boot-time. Come on, windows 98 started faster than that and felt leaner. So there you go, if we ever see a post-apocalyptic era I’ll be glad we won’t be needing Eclipse (or Nokia phones) anymore.
Then came the big switch. I switched completely to Ubuntu, both at work and at home. Don’t ask why, I just felt like it, it was the XP era, before XP became cool because Vista sucked and netbooks were all over the place. In linux your options are a bit limited. Ubuntu comes, by default with Gnome, which comes, in its Programming section with… nothing (or maybe Bluefish, which is like Notepad with spacing, syntax highlighting and some HTML buttons no one uses. But it’s ok to open up a file for a quick view/edit ?).
Your options are a few anonymous editors from the repositories, or The-One-Whose-Name-Must-Not-Be-Mentioned, cos it’s written in Java, and that means you can NEVER run away from it (is there a mobile Eclipse applet? No??? So what do REAL programmers use on the go?). There is also Quanta++, the KDE based web editor, which you can install, but it’s based on Qt3, and kde switched to Qt4, and that means you’re a bit on your own.
I used it for a while, never getting used completly to its large fonts and icons, bottom-placed tab bar, which you can’t move and that doesn’t allow tab drag&drop. Whats nice is that it allowed you to write anything as a file path, as in ftp://, scp://, meaning you had FTP (and you could save remote ftp accounts as aliased folders in your file tree panel) or other remote protocols. It was fast and simple, you could use projects, with some advanced features, but it felt and looked a bit strange. Can’t explain why.
Then came NuSpehere’s phpEd again. It feels like the perfect combination of lightness, power and matured tools. It has projects, quick-switch (yeah!), project auto-complete, all sorts of docs integrated, rarely used tools, boxes, a debugger (nice touch), it feels complete. Oddly enough, it only integrates CVS (wtf?) but not SVN. There are some tutorials on how to integrate it manually in its contextual menus but after 30 minutes of NOT getting it work, I gave up. Also, no FTP out of the box. But it’s fast, powerful and well-adjusted to the web paradigm. Still has some useless stuff, but maybe that’s me.
Then came Notepad++. Yes, you can start laughing. Have you tried it? No? I see. It’s BIGGEST problem is the name. It’s like deciding that the next generation of an honest sedan like the latest Ford Mondeo (which is not a BMW but it has just about everything you need from a modern car, plus an iPod dock, and also by now i HOPE it’s clear where this is heading: there is NO php editor that can be called the BMW of editors) will be called Normal Car. I can see the add in the newspaper: The road is yours! The safest ride! You wish the highway was jammed! Normal Car! Buy it NOW at your local dealership. Calling it that was just stupid. Not everyone is a marketing genius, I know, but come on, a bit of common sense please…
So, to this day can’t decide if Notepad++ is better than UltraEdit. It has everything I need in an editor (notice how I don’t call them IDE’s? Starting out when php was silly simple for silly kids I never felt the need for a full IDE. I worked on very simple projects, using just functions, defined all in one file. I didn’t know autocomplete was cool, but hey, that meant I always read the docs. That’s why i know what parameters a certain function needs. I KNOW that’s what docs are for, but it really HELPS to read them when you’re a beginner instead of relying on a full blown IDE that blurs the line between the editor, the language, the server, the framework, the screen and the real life.) and it’s FREE. UltraEdit costs money. I think all of the above, aside The Abomination (and the linux ones) cost money. Being free, it’s a BIT unstable, but it might just be the version I use right now or the plugin it uses for ftp remote. Other than that it’s great.
Right now, at work, I use phpEd, again. The 3rd time. And it’s ok. I also have Notepadd++ around for quick and dirty stuff.
There are tens of other editors (php or not) that didn’t get mentioned in this “article”, and I owe them just as much respect as the others above: maguma, komodo, vim, joe, mcedit, eric’s editor,aptana, scite, gedit etc.