Readit News logoReadit News
phendrenad2 · 4 days ago
It's been a long time since I last used RubyMine, but I always felt that it was the weakest of the JetBrains tools. And not because JetBrains didn't try hard enough, but because Ruby just doesn't offer a lot of opportunities for an IDE to take advantage of.

I ended up cancelling my subscription over some trivial thing (I think it was the fact that I couldn't quite get the IDE to preserve the indentation of a file. It was an all-or-nothing global setting, but I work on codebases that might have a 4-space indent HTML file and a 2-space indent HTML File in the same directory, and the IDE was ignoring the current style of the file and using whatever indent level I had configured).

onionisafruit · 4 days ago
It might be the weakest of the jetbrains IDEs[0], but for a long time it was simultaneously the best Ruby IDE for my needs. It had reliable jump to definition when nobody else did. That was key for me circa 2015 when I was coming from Java and struggling with my first dynamically typed language since Perl. There are probably better Ruby editors out there now. I stick with RubyMine because I use jetbrains for other languages and like the consistency.

[0] I won’t say the weakest of their tools because youtrack exists.

mdaniel · 4 days ago
> [0] I won’t say the weakest of their tools because youtrack exists.

I realized something shocking while nodding along to your observation: they are a dev-tools company, and made their own issue tracker, but I still have to populate every single field, by hand, when reporting a bug against one of their products. But they have total control over the content emitted by RubyMine > About in order to package up the "what, exact, release and platform is the user on". Ironically, I could file that as a YouTrack against the YouTrack product if I enjoy spitting into the wind

theappsecguy · 4 days ago
Shockingly, there are still no better options out there for Ruby than Rubymine, nothing even comes close.
ryandv · 4 days ago
In general it's impossible to "find usages" or "go to definition" when the language not only fails to equip IDEs and tooling with the static typing information that would grant definitive answers to such questions; but even goes further and allows methods to be redefined or even synthesized and defined, for the first time, at runtime, with no corresponding source location or file. Method lookup and dispatch are fully Turing complete (you can `#send` anything, including fully dynamic method names, and respond to any message with arbitrary logic in `#method_missing`), and you can even redraw the method lookup chain and inheritance hierarchies at runtime (includes, mixins, module prepend, eigenclasses et al).

This is not a failing of JetBrains tooling but rather a pervasive language smell and consequence of Ruby philosophy.

mrinterweb · 4 days ago
It is infrequent that "find usages" and "go to definition" don't work for me on good sized ruby code bases. Both solargraph and ruby-lsp seem to work fine for me. Occasionally, I'm surprised when they don't work. In my recent mileage, that happens once every couple weeks, and I use find references and go to definition multiple time per-hour.

Metaprogramming has fallen out of fashion in the ruby community for the most part. Rails is a great example of where that shift has happened. ActiveRecord used to have `find_by_<attr-name>(<value>)`, which became `find_by(<attr-name>, <value>)`. Sure devs can still go wild with metaprogramming in ruby, but it is generally discouraged.

pmontra · 4 days ago
Of course it takes some heuristic to jump to the definition of these common Rails idioms

  belongs_to :customer # class Customer
  after_save :do_something # method
  validate :custom_validation # method
or a Ruby send(:method, arg)

But an IDE specialized in Ruby can do it. No idea if RubyMine does it.

Bonus for handling

  send("method_#{var}".to_sym, arg)
In general it can only present a menu of choices: all the methods with a name starting with "method_"

danmaz74 · 4 days ago
"Find usages" and "Go to definition" work very well in RubyMine in my experience, at least in normal Rails projects - I use them all the time with command-click.
cosmic_cheese · 4 days ago
Yeah, Ruby wasn’t unpleasant to write in the wonderfully simple TextMate back in the day… a full fat IDE feels like extreme overkill.

I might even say that’s a point of attraction for the language. Overwrought IDEs and heavy editors are more optional relative to some languages.

engineeringwoke · 4 days ago
I have worked at several ruby shops and everyone has used heavy IDEs like RubyMine and VSCode, jump to's and language server are far too important.
TheAceOfHearts · 4 days ago
It's been a really long time since I last used RubyMine as well, but one of my complaints back then was that it didn't help much when trying to debug code that made heavy use of metaprogramming. Maybe capabilities have improved since then. Despite that limitation, RubyMine still provided a far better debugging experience than what could be achieved through the default ruby debugging tools.
lagniappe · 4 days ago
>Free for non commercial use

I like to recreationally overthink sometimes:

Most of us code in hopes that the thing we make is cool and useful, and it's a good thing if the thing we make catches on and becomes popular. Some might even say if they could make a living off their creation, they'd love that.

Given that this site is what it is, -most- of us have financial ambitions, with code as the means to an end to get us that money.

Back to the free for non commercial use stipulation, I'm just wondering how practical is this model? Is it expected that people do periodic reviews of the success of their projects and make some sort of subjective judgement when they should pay for a license?

Is there room for some other business model to more viably compete with vscode and vscode-forks that are free, while still creating paychecks for JetBrains?

thrtythreeforty · 4 days ago
I treat the spirit of these licenses as: "if you have reasonable expectation of making money from your use of it, please buy a license. Otherwise, we appreciate the mindshare."

Practically speaking, the license is probably much closer to "if you are making prodigious amounts of money, and you are using our software, then you had better buy a license to avoid a legal situation."

andrewl · 4 days ago
And if I were making prodigious amounts of money I'd be happy to go back and pay JetBrains the $274.8 a year that RubyMine costs per person for a company license. Aside being the decent thing to do, I'd like to contribute to JetBrains so they continue updating a tool that helped me build my company.
jbverschoor · 4 days ago
So any VC funded startup should use for free in your opinion?
cyrialize · 4 days ago
I'm a huge fan of RubyMine (and all of JetBrains tooling).

I've always found their find by reference and jump to definition better than using a language server.

CiTyBear · 4 days ago
> It’s important to note that, if you’re using a non-commercial license, you cannot opt out of the collection of anonymous usage statistics.

Important indeed. This is not "free as in freedom"

privatelypublic · 4 days ago
It never would be. It's free as in beer.

Also, mark my words: Most/All Jetbrains IDEs are going to go this way. They're just pacing it to keep good press rolling.

nomilk · 4 days ago
This is awesome. Over the past four years I went from Sublime Text, to VS Code, to a 'dual IDE' setup (neovim and cursor).

I hear rubymine has the best support for documentation and source code lookup capabilities (vitally important).

Curious of its AI capabilities; how much of a step down would it be going from cursor to rubymine? I guess it could be used stand-alone purely for its documentation/source capabilities, but 3 IDEs feels like overkill.

onionisafruit · 4 days ago
It’s a bit of a step down from cursor and vscode in terms of AI integration, but I still prefer my jetbrains ides (goland and rubymine). GitHub broke most aspects of their extension for jetbrains last week and didn’t seem to notice. That wouldn’t have happened for vscode (they might break it but they’ll also be in a hurry to fix it). I haven’t tried jetbrains own AI though. It might be fantastic for all I know.
snuxoll · 4 days ago
It's different, I wouldn't necessarily say it's worse than Copilot, and I have been happy making the switch given my usage is included with the Jetbrains All Products subscription I already pay.

If you're expecting inline completion that reads your comments and shits out a fully formed function like Copilot, you'll be pretty annoyed - but that's been a positive for me as the completion doesn't constantly try to get in my way and suggest things 10 steps ahead of me. I'm much happier with my assistant letting my continue to steer when I'm actively coding, and instead just focusing on reducing keystrokes.

Chat works great, and I have a whole host of models from multiple providers to pick from. If I actually do want to have it generate some garbage for me, do code review, or simple refactors then I'll whip it out and it does the trick. Being better integrated into the IntelliJ Platform, actually applying changes from the chat window works more often than Copilot did in my experience.

And then there's Junie, which also benefits greatly from integration into the IDE. Since the PSI syntax tree you get from native IntelliJ language plugins gives the IDE a lot of data on whether code is actually valid or not (missing references, hallucinated packages or standard library functions, straight up invalid syntax, etc), you're not relying solely on tests to make sure the end result of a task you set the agent off to do is actually correct. I can come back after asking her to do a large-scale refactor, or implement some (part of a) feature, and generally be confident I'm not wandering into a bunch of garbage.

If you already pay for an All Products Pack license you've got JetBrains AI Pro included, if you pay for a single IDE from them and are already at the 3-year continuity discount then the cost of upgrading to the All Products Pack and getting the AI Pro license is a couple USD difference (depending on the specific product, could be cheaper). Really not much for anybody to lose trying it out, at the least.

noone_youknow · 4 days ago
It’s a very noticeable step down from cursor in terms of AI integration IMO, but also a huge step up in almost everything else.

For a while I was running both cursor and RubyMine in tandem and switching between as needed, but lately I’ve been using Claude code for most stuff, in a RubyMine terminal and I hardly miss cursor at all.

AstroBen · 4 days ago
Depends what your most used part of Cursor is - from my view the only thing Rubymine is missing is the next edit prediction which I've heard they're working on currently

The agent, chat mode and full line completion all work well

andrewl · 4 days ago
I am going to try it. One nice thing about JetBrains IDEs is that they have all the functionality of the DataGrip database IDE built in.

This will be an issue for some users. Further down the page is a section on data collection:

Does my IDE send any data to JetBrains?

The terms of the non-commercial agreement assume that the product may also electronically send JetBrains anonymized statistics (IDE telemetry) related to your usage of the product’s features. This information may include but is not limited to frameworks, file templates used in the product, actions invoked, and other interactions with the product’s features. This information does not contain personal data.

npteljes · 4 days ago
I needed to pick up Ruby for a two year job, and RubyMine made my Ruby learning so much fun. I really appreciated the clever autocomplete and especially the suggestions. It would give recommendations like "this works, but it's not how people do things in Ruby. Try this instead" and the recommendation actually looked so slick and elegant (and Ruby-like, and not Java-like where I come from). I hope in my heart that sometime I'll have to use it again.
khaledh · 4 days ago
I'd like to see a comparison of IDE market share over the past decade or so. My assumption is that VS Code has gained market share exponentially, eating at both Visual Studio's and JetBrains' share significantly, leading JetBrains to start offering their products for free personal use to try to recoup some of that lost user base.

I could be wrong, but that's my observation based on the extreme popularity of VS Code and the abundance of extensions for virtually every language and framework out there.

robenkleene · 4 days ago
On the IDE marketshare question, the Stackoverflow Developer Survey asks questions like this and I always jump to that section. Here's my comment on HN summarizing the most recent survey https://news.ycombinator.com/item?id=44725015

I also wrote about VS Code's early rising with a focus on marketshare here https://blog.robenkleene.com/2020/09/21/the-era-of-visual-st...

I also think your observation about VS Code's rise forcing JetBrains into a corner is spot on.

On a side tangent, I find it odd that the whole VS Code phenomena is under analyzed. Before VS Code, text editors and IDEs were one of the healthiest software categories around, with the market leader hovering around 35%, which is great for competition enforcing quality (DAWs are still like this today). Now text editors have become more like the Adobe suite, where there's in 800 lb gorilla doing whatever it wants and everyone else is competing over scraps (if you say VS Code is actually good though, Photoshop was amazing when it made its rise too). Developers just let this happen to their core tool without anyone really talking about?

snuxoll · 4 days ago
I honestly don't understand the popularity of VS Code, at all. If I wanted to cobble together a development environment from scratch, I'd just go use Emacs. Hell, I'd end up with a better product than a bunch of buggy as VS Code plugins that don't constantly act up and regularly break.

While I wouldn't consider my employer a '.Net shop' anymore, it's a fact that it still remains the most used language across the organization. Many of my coworkers have ditched Visual Studio, jumped to VS Code, gotten pissed off at it after a while, tried Rider, and eventually switched.

If anything, I think VS Code is in an incredibly unhealthy state. Sure, Microsoft initially managed to pull a Chrome with it and ate the lunch of a lot of more basic text editors, but many people are getting frustrated with the ecosystem. Really, between Spacemacs and Neovim, actual community-driven projects are coming out with much more polished and better integrated tools than Microsoft - partly thanks to them pushing everyone and their dog to build language servers. I'm sticking to proper IDE's for basically everything but the occasional itch I have to do something in lisp, but hot damn does what you get out of the box thanks to LSP support and tree-sitter make VS Code less appealing to people willing to make the switch.