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.
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.
Uhm, I've tried using Ultimate for Java and Rust. It wasn't pleasant at all. Different IDEs make total sense to me.
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.