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…
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…
RubyMine is now free for non-commercial use
51–60 of 83 posts
Re: RubyMine is now free for non-commercial use
#52Earlier quoted context omitted.
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…
"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.
Re: RubyMine is now free for non-commercial use
#53It'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…
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…
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_"Re: RubyMine is now free for non-commercial use
#54Earlier quoted context omitted.
> Shopify, Stripe, and GitHub Yeah I mean Facebook, Wordpress, Wikipedia... but are you going to start a new project in PHP today? I bet all of them wish they weren't using Ruby. (Well probably not because they'll attract devs that love Ruby, but you get the point...) Anyway in terms of concrete numbers the best thing I've found is to look at Github PRs/projects/stars. This site is really cool: https://madnight.githu…
> I bet all of them wish they weren't using Ruby. I'd take that bet. At scale, (and those 3 are the definition of scale) you can mitigate some of the downsides of Ruby (i.e. speed), but you can't recreate the upsides (i.e. developer satisfaction, learning curve, flexibility) elsewhere. > Go and Typescript seem to have taken its place, which makes sense because they're both much better languages. Again: depends on the…
Re: RubyMine is now free for non-commercial use
#55Just another indication that ruby is dead?
I am not sure how this contributes to the unfounded idea that ruby is dead—Shopify, Stripe, and GitHub amongst many others would like a word. RubyMine isn’t the editor of choice for many of my fellow rubyists, but it is for me—IntelliJ’s LSP alone is a godsend when you’re diving deep into debugging weird gems. I have tried ruby-lsp from Shopify and it gets 95% there but that last 5% is what makes me hyper-productive.…
Re: RubyMine is now free for non-commercial use
#56I guess RubyMine is the only proper way to use Ruby.
Re: RubyMine is now free for non-commercial use
#57Earlier quoted context omitted.
> I bet all of them wish they weren't using Ruby. I'd take that bet. At scale, (and those 3 are the definition of scale) you can mitigate some of the downsides of Ruby (i.e. speed), but you can't recreate the upsides (i.e. developer satisfaction, learning curve, flexibility) elsewhere. > Go and Typescript seem to have taken its place, which makes sense because they're both much better languages. Again: depends on the…
Heh, not the person you were replying to, but I do not find the list of upsides compelling. These products at scale are mature (minus everyone’s list of personal bugs and misfeatures). Who cares how easy it is to pick up the language or developer happiness? A stricter language with more hard guarantees makes it possible to make changes to a big code base without fear.
Re: RubyMine is now free for non-commercial use
#58Earlier quoted context omitted.
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 la…
> [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…
I've added "look how active and healthy the bug reporting and feature request systems are" to my checklist for tool evaluation.
Re: RubyMine is now free for non-commercial use
#59Earlier quoted context omitted.
"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.
Anecdata that something is effective in 98% of cases is different from provable static verification that works 100% of the time.
> Anecdata that something is effective in 98% of cases is different from provable static verification that works 100% of the time.
Ruby has its faults. But you're not making sense complaining first about the "in general" situation, then complaining about a 2% situation. And it is a 2% situation, I'll add my anecdata as verifying 98% (or better) it works really well.
Secondly, you're mixing concepts of static typing and metaprogramming by saying "the language not only fails to equip IDEs and tooling with the static typing information that would grant definitive answers to such questions." Static typing is not the solution, or at least not the only solution, to metaprogramming concepts. For example, if I statically define a Ruby object via RBS, I may still do the things you list that are problematic.
Thirdly, you're complaining about runtime issues making things difficult for the IDE while doing a lookup. What language and IDE do you prefer that does this so much better?
Lastly, I doubt this will help but just to make you aware there are specific rules about how this stuff works, for example https://ruby-doc.org/3.4.1/syntax/calling_methods_rdoc.html#...
Re: RubyMine is now free for non-commercial use
#60Earlier quoted context omitted.
> Shopify, Stripe, and GitHub Yeah I mean Facebook, Wordpress, Wikipedia... but are you going to start a new project in PHP today? I bet all of them wish they weren't using Ruby. (Well probably not because they'll attract devs that love Ruby, but you get the point...) Anyway in terms of concrete numbers the best thing I've found is to look at Github PRs/projects/stars. This site is really cool: https://madnight.githu…
> I bet all of them wish they weren't using Ruby. I'd take that bet. At scale, (and those 3 are the definition of scale) you can mitigate some of the downsides of Ruby (i.e. speed), but you can't recreate the upsides (i.e. developer satisfaction, learning curve, flexibility) elsewhere. > Go and Typescript seem to have taken its place, which makes sense because they're both much better languages. Again: depends on the…
I don't think Typescript or Go have a worse developer experience or learning curve than Ruby. You can learn Go in a week. They both have better tooling and higher developer satisfaction (admired/desired) scores than Ruby according to Stackoverflow's survey.