Monday, October 01, 2007

Is it better than TextMate? (Ruby IDE redux)

A year and a few months ago I wrote what I considered to be the state of Ruby IDE choices. These days I'm still using TextMate to deliver Ruby applications. I think TextMate is a fine text editor, but almost every project team has a few developers who want IDE support at the level that IntelliJ provides to Java. After hearing those same complaints for over a year I'm fairly sure that, at this point, no one wants a more robust IDE than I do.

Unfortunately, there isn't a better option. "NetBeans has great debugging support." "The IntelliJ plug-in provides better searching options." Yes, I've heard many of the great features that the different IDE options provide. The problem is, they missed a few fundamental features: stability and speed.

Around fourty percent of all new projects at ThoughtWorks are Ruby projects. Each project starts with the question: What IDE are we going to use. Not every team is lucky enough to be given a choice concerning hardware selection, so TextMate isn't even an option for some of our projects. As of today, I'm comfortable saying that ThoughtWorks has tried every major Ruby IDE available. Unfortunately, I still haven't heard what I want to hear: [IDE] is better than TextMate.

I understand that the current IDE choices provide some features that TextMate does not, but they do it while other features are lacking, or it's too slow, or it crashes constantly. Not a single colleague I've spoken to has told me that another editor would be a better choice for a ThoughtWorks team. I know that some of my colleagues prefer IntelliJ, but most of those guys (admittedly) prefer it because it's familiar. Even those guys aren't ready to recommend that teams choose IntelliJ over TextMate when delivery is on the line. I'm optimistic about IntelliJ. I enjoyed using IntelliJ when it was the best option available to me. Of course, I think competition will make all the IDEs better, so I'm rooting for all the competitors also.

Specifically, here's what I'm looking for: Crashes no more than once a week. Responsive at all time. Provides all the features of the TextMate Ruby and Rails Bundles. Provides an additional few features that making preferring it over TextMate any easy decision.

21 comments:

  1. Keep in mind NetBeans is still in beta, and unlike IntelliJ (as far as I know) you can get a stripped-down version that's just Ruby support. I haven't spent a lot of time in TextMate, but having real code completion with rdoc, jump to declaration, and some basic refactorings already makes it worthwhile.

    ReplyDelete
  2. Have you canvased opinions on Ruby In Steel? Even though this is a Visual Studio package, we know of at least one customer who thinks it's worth the effort of running it on a Mac!!! ;-)

    http://www.sapphiresteel.com/Ruby-In-Steel-on-a-Macintosh

    best wishes
    Huw Collingbourne
    SapphireSteel Software

    ReplyDelete
  3. Well, I can't speak for tm, but NetBeans has never crashed for me, and it's UI is extremely responsive on every machine I've tried.

    Can't imagine what sort of problems you've faced, but my experience with NetBeans and Ruby has been spectacular!

    ReplyDelete
  4. Anonymous8:00 AM

    Even once a week crashes would see me livid.

    ReplyDelete
  5. This post reminded me that in NetBeans beta1, we were using a garbage collection mode that is not well handled (=frequent crashes) on OSX. It's easy to disable (and it has been for beta2). More details here:

    http://blogs.sun.com/tor/entry/disable_crashing

    ReplyDelete
  6. Netbeans builds been stable for me for many months now; I don't recall any crashes in a very long time. The Ruby-only IDE is the best of many I've tried (though I haven't used TextMate extensively).

    ReplyDelete
  7. why not 3rdrail:
    http://www.codegear.com/products/3rdrail

    ReplyDelete
  8. I almost tried 3rdRail, until I saw that was going to duplicate almost everything on my dev box ... and cost a lot. Sorry, not even worth trying it for me. I'm sure it's perfect for some folks, just not for me.

    ReplyDelete
  9. Oops, forgot to address the original question. :)

    I've got NetBeans, RadRails, and IntelliJ installed, as well as jEdit and Komodo, but I keep coming back to TextMate. It's not perfect (if it were, I wouldn't have all those others) but it's light and fast and has some really fun features that the others don't. As long as I don't refactor or debug, I'll be OK. :)

    ReplyDelete
  10. Jeremy Crosbie12:26 AM

    I used TextMate, and while I liked it the fact that I can only run it on my Mac became an issue for me. I decided to take the plunge (finally) into Emacs and from my experience I haven't found a reason to continue to use TextMate. The RoR integration is what sold me, and the fact that I can use the same Emacs config on Windows, Linux, and OS X. Has anyone used Emacs for RoR who has had a similar experience, or can point out where TextMate might be superior?

    ReplyDelete
  11. I havent used Textmate so far as i do not use a Mac.On Linux Emacs has been my choice for Ruby/Rails.I used to use Intellij because of its browsing capabilities till i came across this
    http://dima-exe.ru/rails-on-emacs

    ReplyDelete
  12. I honestly don't understand the need for an IDE with a dynamic language. I mean, a good editor, such as Vim or Emacs, can do just about anything I need in conjunction with a few well-chosen tools. I've worked on large projects with both Vim and Emacs, happy as a clam, never sighing longingly the way I would definitely be doing if I were, say, using Java without and IDE. I think that sometimes developers want IDEs so they can have that same "Cool!" feeling they first got when they started using Visual Studio or TurboWhatever. Because, as far as I'm concerned, for Web development, Firefox equipped with Firebug, the Web Developer Toolbar, and Selenium, along with Emacs loaded with Rails mode and a few other choice elisp apps, all brought together by the Yakuake term under Ubuntu -- I'll pit that against any IDE out there. My whole freakin' system is an IDE.

    ReplyDelete
  13. Heh, the interesting thing about IDEs, and especially IDEs writting in Java, is that it's the first time in computing history where you'd use a text editor as a benchmark. :-P

    IDEs tend to be so memory hungry and bloated (especially the ones written in Java -- it may be true that Java is as fast as anything else, but it sure doesn't go well with tight memory) that if you're creating anything serious, it can be a problem to run your IDE and the application you're writing at the same time. :-D
    Ok, that's not entirely true, but it does seem ironic. On less than 1G of memory, software development with an IDE seems impossible.

    - Simon

    ReplyDelete
  14. I am a heavy Linux user who sometimes needs to work in Windows. I have tried RadRails, JEdit and NetBeans on both Linux and Windows. I've also used eTextEditor on Windows. Here's my experience:

    RadRails - was not that impressed.
    JEdit - very simple text editor
    eTextEditor - I prefer this to JEdit in Windows, but it is not free.
    NetBeans - probably the most feature complete, albeit nowhere near as responsive as my editor of choice (VI). Crashes twice a day for me in Windows. In Linux, crashes every 25 minutes.

    And I'm back to Screen/VIM.

    ReplyDelete
  15. Anonymous4:59 PM

    I love Netbeans. I've been using the latest snapshot releases for months now on x86 linux, and can't say I've had any crashes or any problems with it at all.

    ReplyDelete
  16. I hate to be "that guy", but perhaps a simple Emacs + the email-rails plugin will provide what you need? I've been using Emacs for about 7 years (I'm not THAT old), and have found it quite useful on all platforms for all languages, including Java and most recently Ruby.

    Plus, I save so much time not worrying about those bloated graphical IDEs and switching every few months as one trumps another on the latest and greatest "must have" feature.

    ReplyDelete
  17. Doug @ Straw Dogs2:04 AM

    I'm perfectly content switching between Vim and Netbeans depending on my mood. I've been a fan of Netbeans since its early releases and since getting into Vim about a year ago I've used the two exclusively for Ruby/Rails development.

    ReplyDelete
  18. lol, I know what Toby would say.

    IDE.... pffft, not needed :)

    I have to agree, TextMate is just so much faster than any IDE I have tried with rails dev. And now that the ruby-debugger is back in I can step through code without raising everywhere.

    Say hi to Vivek and Toby!

    ReplyDelete
  19. I actually use two free products -- VIM (Linux/Windows) and PSPad (http://www.pspad.com/en/ - Windows).

    ReplyDelete
  20. Tried almost every IDE.
    RubyMine is by far the best.

    ReplyDelete
  21. No question at this point, RubyMine is the winner. I still use TextMate a lot too though.

    ReplyDelete

Note: Only a member of this blog may post a comment.