Live data from Hacker News

RubyMine is now free for non-commercial use

blog.jetbrains.com

41–50 of 83 posts

Re: RubyMine is now free for non-commercial use

#42

I don't understand. Of all offerings from Jetbrains, only Pycharm is free for commercial use. Others have restrictions like RubyMine.

I would be interested to know the story there. It seems like a strange choice to be the only one free for commercial use.

PyCharm lives in the IntelliJ CE repository, both are Apache 2.0 licensed, while the rest of JetBrain's language plugins are proprietary. They are 'unifying' PyCharm and getting rid of the separate PE and CE builds, but the underlying plugins remain developed in the open right there on GitHub.

As far as why only IntelliJ and PyCharm are done this way (excepting additional plugins many developers would end up wanting only coming with a subscription), that's a strategy question you'd have to ask an exec about. If I would hazard a guess, Java, Kotlin, and Python are all pretty big first languages to pick up and have large, active communities. Good products to get people hooked and want to pay to get the extras that aren't available without a subscription.

Re: RubyMine is now free for non-commercial use

#44

Earlier quoted context omitted.

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.

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.

Dunno, if you're using Rails, because of the naming conventions its pretty easy to find what you're looking for by just jumping to a file using grep or something.

Ruby-lsp runs everywhere nowadays, but back in the day, there was all sorts of code completion servers, live coding environments, etc... for Emacs, Vim had completion servers, and if you didn't have any of those, the REPL has always been good too.

Re: RubyMine is now free for non-commercial use

#45

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 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.

Re: RubyMine is now free for non-commercial use

#46
post #5

Earlier quoted context omitted.

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.…

> 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've never heard any entrepreneur say they wish they didn't use Ruby... Nothing I've ever seen gets you from zero to a fully working CRUD website nearly as quickly.

The only people who say such things are the ones who didn't pick it.

Re: RubyMine is now free for non-commercial use

#47
post #4

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 a…

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 ri…

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.

Re: RubyMine is now free for non-commercial use

#48
post #45

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…

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_()`, which became `find_by(, )`. Sure devs can still go wild with metaprogramming in ruby, but it is generally discouraged.

Re: RubyMine is now free for non-commercial use

#50
post #45

Earlier 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…

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…

They work well enough to a first approximation, but it's far from the certainty one has using other JetBrains products (e.g. C# ReSharper) on a statically typed codebase.

RubyMine will give you "Untyped (potential) usage." That's not good enough if I need to make a breaking API change and be sure that I've fixed all the callsites, such that I don't find out that I've missed a spot when the change breaks in production.

For all this talk about LLMs and AI improving developer productivity - what is one click and a few seconds in ReSharper to "Change Signature" or "Pull Members Up," which is a 100% guaranteed safe refactoring that will not introduce regressions, ends up being anywhere from "a few hours" of playing whack-a-mole with usage sites, to "completely intractable" in 15+ year old 1MLOC+ codebases making heavy use of metaprogramming.

If the Ruby milieu has turned against metaprogramming, I say good riddance; but my understanding is that it is still quite deep in technologies like Rails and RSpec in particular, where it's the fundamental secret sauce that enables convention-over-configuration and fluent, natural-language like DSLs.

Post reply on HN