Tuesday, November 17, 2009

nice: Rubymine 2.0 released

I use Rubymine for most of my Ruby/Rails/Sinatra development on Ubuntu, and use it in conjunction with TextMate on OS X. I find it convenient enough to alternate between TextMate when I don't need IDE features, and Rubymine when I do.

One of the biggest improvements is that indexing now occurs in the background and auto-complete and other features become available that depend on knowledge of an application and the gems that it uses.

This is subjective, but once Rubymine 2.0 loads up and is done with any background indexing then the CPU use is minimal, and I think improved from earlier versions (nice to not have the fan kick in on my laptop when the CPU cores heat up). For the Rails application that I am coding on right now, Rubymine is using about 360MB of resident memory - this is OK with me.

2 comments:

Eric said...

Mark, do you know if there is any way to do iterative development in rubymine just like in a lisp or smalltalk environment? In the sense of I modify code and then I can immediately try it out in the repl or workspace. Does this exist for rubymine or anything in ruby on general?

It seems like it must. The irb is there, the ability to load/unload code is there (I believe unload since I think I have read of uninterning vars). But I have played with rubymine and googles and I just don't see it. In rubymine it seems all I can do is open irb and run selected code in the editor (but at this point my all of my apps code is not loaded).

Does this exist? I know this doesn't directly map to your post, but I just thought I would ask. It just frustrating to live in a dynamc world where everyone talks of rapid development and essentially we still have something very similar to a edit/compile/run cycle.

Thanks.

Mark Watson, author and consultant said...

Hello Eric,

I don't use Rubymine's irb. I do sometimes keep a Rails console open in a bash shell but I do this outside of Rubymine.

I do sometimes keep an interactive Scala repla open in IntelliJ, but not often.

Common Lisp and Scheme are the only languages that I use with a repla kept active for hours at a time. For me the difference is that for Ruby I tend to maintain small automated tests and my development cycle often involves cycling between code editing and running the tests.