I mentioned how I’ve been checking out Ruby. I’ve been considering 4 possible candidates: TextMate, Xcode, Eclipse, and jEdit.
First runner-up is TextMate. Its claim to fame is that it was used to demo Rails in the infamous Rails Academy video. It’s a native editor (so it won’t have all those unexpected behaviour gotchas). I really like how TextEdit feels when I’m working in it. It’s got all the important features a modern text editor used for programming requires nowadays. I’d have ended this blog entry right now if it weren’t for one nagging problem. Its code-completion/code-sense/intellisense/whatever, is really rudimentary. It works, but it could be so much better. If I had to compare, I’d say it’s like the T9 predictive typing on cell phones: utter crap, but the best they’ve got for the price you’ve paid. I anxiously await the addition of a fuller-fledged completion system.
Hang on… I know Xcode now has code completion, and I’ve heard it plays nice with Ruby. How good could it be? Actually, not that bad. It’s native. I’m somewhat already familiar with it. It’s got syntax hilighting (albeit not the best), and it has a better code completion system than TextMate.
Neither one has the optimal code completion system, however. Neither one pops up suggestions upon hitting a period, for instance. TextMate won’t give you any completion, or even hint that it can, unless you begin to type some characters first. And even then, you still have to know ahead of time what you want to complete. Xcode’s is much better, but only about 75% to 80% of the way there. Xcode’s is a little better to deal with in that it offers suggestions before you begin to type (making it better than TextMate), but suggests every possible symbol in its lookup table regardless of it being valid in the current context or not (making it worse than TextMate).
Neck and neck in the non-native arena are Eclipse (with RDT) and jEdit (with the Ruby Plugin). jEdit was the winner, but only by a slight margin, and I think it was because I could do word selections in it, but not in Eclipse. I’ve heard good things about code completion in Eclipse, but I couldn’t get it to work. Maybe that’s what the oddly worded “Note:Currently, RDT is not supporting code completion for core libraries” phrase means in the Ruby on Rails Wiki. Eclipse’s biggest problem is that it felt like an IDE with a text editor hacked on.
jEdit had decent code completion. It actually popped up upon hitting period (which was good), but, strangely enough, only inside of class definitions (not good). I don’t know if that’s a feature or a bug. Stupid either way, though. jEdit’s biggest problem is that it felt like a text editor with an IDE hacked on.
Hurry, Allan!
Technorati Tags: eclipse, xcode, ruby, textmate