Hacker News new | ask | show | jobs
by TylerE 1002 days ago
That's how all their IDEs work. It's all the same software with different sets of allowed plugins.

I would also argue that their IDEs are largely mature, feature-complete software. I'm quite happy they haven't succumbed to the modern trend of reorganize all the menus every 6 months.

5 comments

Not all their IDEs. Jetbrains Rider has specific modifications that are integrated into the IDE for .NET software development that aren't available in even in IntelliJ Idea Ultimate. The same goes for CLion, the C/C++ features are not available in any other of their IDEs. Though, I think those are the only two IDEs where the the features provided are not available as plugins.
I wonder when this started, I was under the impression that Ultimate had it all, but maybe that was either never true, or only when I last had to petition for the team to get it (10 years ago). Not even sure either Rider or CLion did exist back then.
For Rider, it's because they built ReSharper (a Visual Studio extension) before Rider, and then built Rider to make it use ReSharper as a back end without Visual Studio, while still using the IntelliJ platform.
That's how all their IDEs work. It's all the same software with different sets of allowed plugins.

From where did you get this idea -- basic use? It most certainly is not this to as great a degree as you might like to think. Source: JB employee.

Could you get into more detail please? From my (brief) experience with your products I think the differences are indeed mostly in the plugins, apart from cosmetic / UX ones, like different keyboard shortcuts (which by the way never made sense to me).

There's nothing wrong with selling sets of plugins by the way. I don't really get why it must be different IDEs though.

There's nothing wrong with selling sets of plugins by the way. I don't really get why it must be different IDEs though.

This was exactly the line of questioning I had for my JB friend, some time ago.

So... Did you get some answers? :)
Only insofar is that there is less of a grand framework for the language analysis and manipulation, refactoring, and syntax and error highlighting than one might think. (I still find this hard to believe, but perhaps this was due to an impedance mismatch between me and my JB interlocutor.)

I was under my own (pretty pedestrian) assumption that the secret sauce of JB IDES is/was the MPS system in which they are/were able to create libraries for source code analysis and manipulation on a language-by-language basis. I further assumed that this per-language library plus some language-specific GUI tooling, plus the language-independent GUI libraries and processing (local history, VCS integration, side-by-side textual (not semantic) diffing tools, and so on)

The response I got, which was quite a while ago (2019 or before) was that the individual language IDEs did not use MPS-generated libraries in perhaps the extensive way I've alluded to above, and this surprised and disillusioned me somewhat. I was hoping to get as much of an answer from my JB friend as, presumably, you were from me in this thread. :-)

Yes of course, there must be massive code reuse between projects, and yes, this was an entirely hand-waving set of assumptions, and no, I haven't researched the composition of any given JB IDE to find out the proportions of language-independent vs language-specific code volume.

I'm surprised someone at JB hasn't given a talk on this sort of thing over the years.

Thank you for the extensive answer! Yes, I guess some code reuse would make sense, but when growing it is difficult to know which abstractoon makes sense, so from the business perspective it is often a better strategy to copy and adapt code, even if that means worse maintainability down the road.
> There's nothing wrong with selling sets of plugins by the way. I don't really get why it must be different IDEs though.

Uhm, I've tried using Ultimate for Java and Rust. It wasn't pleasant at all. Different IDEs make total sense to me.

What difficulties did you run into?
In my relatively limited experience with PyCharm and GoLand (with a hint of CLion/IDEA), the individual IDE's make working with a language much simpler and straightforward. Using the language plugins within another IDE adds a few layers of friction with trying to find settings, panels, etc, whereas the IDEs offer workflows OOTB designed for that particular language.

Sorry I can't provide specifics, it's been a hot minute since I've used a JB product but I did enjoy my time with them.

Well, Ultimate is very java specific out of the box. Doesn't help that I use it for java as well. I could possibly have multiple profiles for different use cases, but why? All Product bundle after 3 years is cheap enough that paying for it isn't noticeable at all.
BTW, to avoid ambiguity.... I am not a JB employee, my source is/was a JB employee.
> I'm quite happy they haven't succumbed to the modern trend of reorganize all the menus every 6 months.

Same, so they do it every 2 years instead.

But the upside is the Shift+Shift Menu of "Find anything in this Project or what the IDE can do for you"... I wish more software had this :)

VSCodium has that too: Ctrl/Cmd-P for “find anything”, Ctrl/Cmd-Shift-P (or F1) for “what the IDE can do for you”. Two different modes instead of one for both, but either way it's pretty neat, I agree.

I think the only other piece of software I've seen this function in was some open source CAD software (can't remember from the top of my head), which had it mapped to the spacebar. Perhaps that should work for stuff like graphic or video editors, too.

> largely mature, feature-complete software

Depends on the language.

I use mostly Scala and Rust and both have significant issues still with incorrect syntax highlighting, refactoring being limited and slowness with larger projects.

And both are offered as a free plug-in, not a dedicated IDE or Idea Ultimate offering.
I guess it's just that I have a hard time reading a statement like "Features are super slow to be delivered" and even trying to understand where that person is coming from. Like, what general, non-language specific features does he think IntelliJ lacks at this point? Is he upset he can't use it to mail a check to his utility company?
VS Code Remote development equivalent? I know similar features available but VSCode is superior for overall when I've last checked.
I didn't say its non-language specific only. I also listed few language specific ones and non-language ones. Not sure I can add more to be clear
Scala and Rust are both very complex languages.

I mean, how's rustfmt going?

Also, Scala sort of recently became completely revamped and I have only had a not too positive experience with the new version - which does make sense that it won’t instantly be as feature-complete.
Yeah, Scala3, has a special name IIRC.
Dotty? Was it still the name later?

http://dotty.epfl.ch/

I believe it is just called Scala3 now, dotty was actually a reimplemented compiler for that new version, and that’s why it used to be referred to as such.
> I'm quite happy they haven't succumbed to the modern trend of reorganize all the menus every 6 months

https://www.jetbrains.com/help/idea/new-ui.html

Yes, but it's not every 6 months, but instead every 2 years or so :X