RubyMine 4 is Here to Make You Feel the Productivity
blog.jetbrains.com
blog.jetbrains.com
I live in IntelliJ, and also use RubyMine for much of my Ruby (and Rails and Sinatra) development. My Python programming skills are weak, but that said, I have an easier time using Python with PyCharm when I have to code in Python.
All that said, even though you can get 30 day free licenses, evaluating new IDEs is a major time sink. If you are a Ruby developer who is all set up with a TextMate or Emacs, etc. environment, it may still be worth the several hours required to really kick the tires of RubyMine.
* Great dependency management. The source code of all your Gems is accessible/searchable and always present. If you're using a method in one of your external dependencies, you can 'command-click' through to the Gem source. * Full integration with RSpec/Cucumber. You don't need to break out of your work flow to run a test. You will be presented with a small panel that includes our test results and clickable stack traces of failures. * Good refactoring tools: Extract a variable or method from a code block with a few keystrokes. * Etc.. (the list goes on and on)
Given the nature of the Ruby language, the IDE can only do so much, comparatively speaking. The Java IDEA IDE is arguably more powerful than RubyMine because of the static analysis capabilities of the Java language. I'm not at all saying that I would prefer to develop in Java because of 'better' IDE support, it's quite the opposite really. RubyMine does a lot to increase productivity by making assumptions about how developers will use the tool that result in a very desirable RoR IDE.
Does RubyMine respect those settings or is there some voodoo that you have to do to get it working?
@michaelbuckbee You will have an option to choose a Ruby interpreter for each project. Just be sure to not use any interpreter that has '[global]' in the name and you'll be able to switch your gem sets seamlessly.
Oh man.
> "Licensed Version: 3.0 and any new product release which is made generally available before 1 February 2012"
I missed the free upgrade by 14 days :( Oh well.
Congrats on the release, JetBrains!
Glad I checked HN this morning, going to give the 30-day demo a try.
(obviously, would love to read any first-hand experiences from Rails devs about switching from TM to RubyMine, particularly the tradeoff in time getting setup vs. time saved from the IDE-related benefits)
However, IMHO:
- the strict dependency on Sun's JRE instead of OpenJDK was the first annoyance (I'm on Debian).
- the UI is just overwhelming me - lots of things happening that I didn't ask for. Maybe full-on IDEs just aren't for me.
- my goodness it's slow!
- non-native UI is another turn-off - crappy file selectors, plain ugly...
I tried to keep an open mind, but in the end I'm probably not the right audience for something like this.
So I see RM 4 came out today. Normally with any software I rely on for my day to day work, I wait at least a couple weeks before upgrading. However, against better judgement I start the download and install it.
Now I'm screwed.
700% CPU spikes on project open. Then it hangs, completely unresponsive, chewing up 100% CPU. I went to lunch and upon my return I see it's no longer using 100% CPU but it's still hung.
My scenario, Ubuntu 11.10, i7, 8gb ram.
YMMV, but I'd wait if I were you.
P.S. Anyone from jetbrains, feel free to contact me. I love the product and am confident this is a release day issue that you will get resolved quickly.
Update
I found that opening a smaller project would work, but that the initial (largish) project would not load. After allocating 4gb of ram to RM, it finally opened.
edit this file to do the same: RM_path/bin/rubymine64.vmoptions
I went with these for settings:
-Xms512m -Xmx4096m -XX:MaxPermSize=700m -XX:ReservedCodeCacheSize=128m -ea
I didn't see this the second time I started RM 4.
At the risk of being called insane, I did the same steps 3 times over and got he same result.
http://youtrack.jetbrains.net/issue/RUBY-10478?projectKey=RU...
I tried using it more aggressively but I keep falling back to emacs / rails console / rails db / grep. At the end of the day RM just feels too sluggish.
This way you dont have to deal with memory/hd swap implications of running a fairly memory hungry app inside a memory hungry virtualization layer.
I've found IDEs useful in the past when getting onboard an existing project that's new to me, but I pretty quickly jump back to my text shredder and terminal windows. Wondering if people see sustained productivity gains with modern IDE tech. I know JetBrains has been a well-regarded IDE producer for years now.
Anyway, IF there is anyone I would really like to hear the story.
http://blog.jetbrains.com/ruby/2009/08/rubymine-for-vim-addi...
And here's the direct link to the plugin:
I think I've adopted this since I went from an IDE -> vim instead of the opposite. Having a visual debugger was one of the features that kept me in an IDE (at least for Ruby). I just never felt like I was as productive without it.
Python support in default vim is abysmal. You can probably beat vim to do useful things with Python by installing a gajillion of plugins, but my time that I would spend on it is not worth 200$ that I paid for PyCharm's corporate license. Even then I am not sure Python support in vim would be anything close to what I have in PyCharm out of box.
For me, the killer features in PyCharm were completion and on-the-fly code-checking. There are definitely some vim packages for the former, but all I tried were slow and/or buggy. And I have never found the replacement for the latter. Other things like built-in graphical debugger with variable auto-watcher and coverage visualization are the icing on a cake (and a very thick one).
That said, they aren't always the fastest, and don't do anything to dispel my hatred of Java UIs.
I used WebStorm to do node.js for a while, but haven't renewed my subscription as it didn't provide me much extra from vim. The jQuery/Web stuff I've done with WebStorm was pretty good though.
I'm saying this as someone who feels the need to use a debugger maybe once every 3 or 4 months.
I only use it (Rubymine) now and again though, for things like browsing through projects I don't work on often, or to help find syntax errors in code and so on.
Having said that, they both have the same fundamental drawback of being ginormous slow ugly least-common-UI-denominator Java-based frankenapplications.
Still, I tend to start my Ruby coding tasks in a text editor, but move to RubyMine on anything where I'm hacking on it for more than a couple hours. I can't imagine using anything else to do Rails development with all the billions of files and open source gems involved in that king of thing--code insight and smart jumping around within the source saves so much time, cumulatively.