Someone asked what RubyMine was about. Here is the latest post from
the Utah Ruby Group where they have been discussing it.
Subject: [urug] Re: Thoughts on RubyMine 2.0
To: Utah Ruby Users Group <[email protected]>
There has been some good feedback here on the value of IDEs in
general. I wanted to add some thoughts that might help you in your new
quest. :) For Ruby on Rails development, I've used Aptana, Netbeans,
and now RubyMine. When playing with things like PyGame (Python), I've
used simple text editors to get started and just experiment.
I'd like to try and justify my IDE viewpoint in the hopes that you
will find some value in this too.
I've been doing software development professionally for over 12 years.
When dealing with a small project with a short time line, I believe
you can get away with just a good code editor. On the flip side, when
you are on projects that involve multiple members and your time on the
project spans years, an IDE proves really, really helpful. When you
add more developers and more time, there is little chance of you
having an intimate understanding with all parts of the application.
You have to depend on your tools.
What I get from a good quality IDE is summed up as "Productivity,
productivity, productivity".
This comes from many small features. Things like integrated VCS
(Version control). I can update, check-in, diff, branch, all with very
few keystrokes or interruption. Could I use a separate tool? Sure. On
Windows I've used TortoiseSVN. In Linux I've used kdesvn. (I'm not in
git yet).
Another small benefit is code navigation. Just now, I was working in a
Rails view. I wanted to check/modify the CSS associated with a class
on a DIV element. I know where the CSS file is and I can easily enough
find the CSS class in the file. But all those steps take time and
focus away from what I'm doing. With RubyMine I can CTRL+LEFT_CLICK
the CSS class name right in the view and it opens and focuses the line
in the CSS file. How can I beat that?! This technique also works for
ruby code, classes, methods, etc. The CTRL+CLICK takes you to the
declaration.
RubyMine has a lot of nice productivity features. Things like CTRL
+SHIFT+N to open a file based on the filename. Or CTRL+N to open a
file based on the Ruby class name. In both cases, the dialogs filter
as you type.
I really like the Rails project view too. It visually groups the views
with the controllers under the associated methods. It's a logical view
of the project instead of the physical view (which is also available).
Code completion is a difficult thing with dynamic and non-statically
typed languages. But RubyMine does the best I've seen at it. It
indexes the project (including the plugins and a frozen Rails) to
allow really fast code completion. With Netbeans, a large project
would drag and slow my typing while the IDE tried to infer the code
completion.
On medium to large long-running projects (like mine) even as the
primary developer, there's code I wrote that I just don't remember.
Code completion saves me tons of time. I write my own RDoc information
for my classes, but I don't really want to gen my docs and read them
when I'm in the middle of coding. Not when the tool can CTRL+Q when
the caret is on a method name to show me the docs. That's works for
Rails classes/methods and mine. That's great when I can't remember
some specific Rails options that I seldom encounter.
Recently when writing some functional tests, I realized how much I
depended on the code completion. I was adding some missing tests to
older code (I know, it wasn't TDD) and I was adding some factory_girl
usage for building test models. When doing that, the code completion
doesn't work because no class is specified so RubyMine can't figure it
out (untyped code limitation). So I found myself writing a simple line
like "user = User.new" just to get at all the code completion
information when writing the tests.
Other minor nice features are built-in spell checker for code. It
identifies spelling errors in embedded strings and even comments
(which may show up in docs).
In closing, I agree with Carl. Don't let tool selection bog you down
if you just want to experiment and play with a framework or a
language. If you are doing Rails development, you might want to start
with Netbeans since it's decent and free. As you get up on Rails/Ruby
and you decide that you're willing to spend money on tools, then I
recommend RubyMine.
This is just one guys recommendation. My goal here was to describe
some benefits to good IDEs so you don't just discount them.
Oh, and have fun!
-Mark E.
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby