This IDE doesn't seem to differ from CLion with Rust plugin. I guess, its only about making Rust plugin paid from their side – which makes sense from their side. I hope they can deliver quality.
On the other hand, they are notoriously slow to develop their IDEs. Features are super slow to be delivered, IDEs themselves are not really improved as well. They are focusing on things most don't care: Spaces, new UI project, etc. Barely any performance improvements, customisation is hard, Ruby, Scala and other plugins are lacking as well. Scala showing red squiggly lines where its not supposed to (on their compiler), Ruby lacking ergonomics in refactoring department (refactoring too large scope and etc.) or tooling support.
I still pay Jetbrains and while 2015 they were above everything else – its no longer the case. I grew up with them as developer, I hope they can up their game.
> On the other hand, they are notoriously slow to develop their IDEs.
I found that IntelliJ IDEs for me are almost at the perfection level. I don't really need any new changes, except for simple incremental ones like supporting new languages.
I've been using IntelliJ since 2003, and it's amazing how little my main workflows have changed since then.
And every release they break my Split-view workflow. It is just random thing, every time something different. The latest thing - when the current file is split vertically, new split has viewport moved to something like 20 lines below. And yes, every time it takes years to actually fix those.
Its looks like Jetbrains is migrating to an N IDE's for N languages approach - bloat up memory and disk so they can be paid more.
No point in buying Intellij Ultimate and installing language plugins. As is clear from this post, the language plugins will no longer see new features.
Now you need to purchase and start the IDE's for Rust, Go, C++, Python, etc. So if you are working in multiple language projects, you need $$$ purchase power. And then 64 GB RAM and several terabytes of hard disk space.
This is my biggest problem with the JetBrains world. It should be one IDEA and a bunch of plugins (of which Java should be one). I don't know why I need X copies of the same tool with different config files.
Mine indexes every time I boot it up, per project, so sometimes several times per week, fortunately not every day.
No, no bad faith, it's simply my number one pain point.
Imagine there are people who work on different repos/projects. Just quickly opening another up during a call? Maybe wait 5 minutes. This is decent hardware on an SSD. We're not talking about 10 year old 2m LOC mammoths, but also not "I expect it to start up in 3s like an editor and not an IDE".
I suffered that exact same issue for a very long time with IntelliJ.
If you haven't tried upgrading yet, I'd recommend it. They did a huge amount of work to address the issue, and from my experience, it's significantly better in 2023.2.
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.
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.
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.
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.
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.
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.
I use mostly Scala and Rust and both have significant issues still with incorrect syntax highlighting, refactoring being limited and slowness with larger projects.
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?
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.
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.
When Goland launched it wasn't that much different from IntelliJ IDEA with the Go plugin. In the intervening years it has come to feel like a significantly better product than that combination.
This is why I am happy to see RustRover - it's very likely the significantly better product is actually similar for the Go plugin. Once they release an IDE, it seems development picks up and things get a lot better quicker.
I have used clion with rust plugin and while it's better than nothing, it's generally been pretty spotty on all the features, completion, marking errors, refactoring. I'm looking forward to RustRover "pulling a GoLand" by bringing a proper IDE experience to rust.
Not much actually, but for me it’s default settings of Goland vs “you need to setup some small things, plugins and shortcuts in Intellij IDEA Ultimate to work with Go effectively”. Ultimate is also a bit slower if you don’t disable a ton of Java plugins. But if you don’t need Java and disable it anyway, why not to use more streamlined and lightweight Goland?
the go plugin that existed at the time of goland creation and what exists today are very very different things.
the go plugin back then was very simple. The fact that you get most of the goland experience in idea ultmate today is because they are investing into the go ecosystem as an independent profit making endeavor in and of itself, not simply a small value add.
Technically it's not Free (libre) or Open Source. The "VSCode" that people use is a proprietary telemetry-laiden application that cannot be reproducibly built from available source. You're probably wanting: https://vscodium.com/
Telemetry is orthogonal to the concepts of Free/Open source. You sound like someone who just has an ideological objection to companies making money and producing text editors, and to proprietary software. However, many of the people here on HN work on proprietary software.
Jetbrains has plenty of extensions (1st party, high quality plugins that are far better than some of the 1st party Microsoft plugins) and no one cares if it's by Microsoft (what does "commondize code editors" even mean? Do you really think any vscode users care?).
Honestly, I doubt most people even care it's kind-of open source (1).
> 1. Free
This is the reason most people use vscode.
That's it.
It's free, and it's pretty good.
It's not better. It's just free.
Nothing wrong with liking free stuff; free stuff is great; but don't confuse 'it didn't cost me anything' with 'it's good'.
There's a difference between value (ie. for what you paid, you got something that was worth significantly more than you paid, which in this case is zero) and quality (independent of cost, the thing is just plain old good).
vscode may be more valuable to people than jetbrains products, but it isn't a higher quality product.
There's a massive difference between those two things.
> Honestly, I doubt most people even care it's kind-of open source (1).
Average users might not care. But extension authors do. Yes, of course you can write extensions for close source projects, but it'd take longer to do "hacky" things since you'll need to read decompiled code / memory stack to understand its internals. I remember a very popular extension used a private field (and later broke because VSCode changed its internal implementation).
I personally constantly check Blender's source code here and there during the development for our internal Python tools, so I suppose people who write VSCode extension sometimes do.
> (what does "commondize code editors" even mean? Do you really think any vscode users care?).
It means VScode benefits MS indirectly and they can keep it free indefinitely while being a for-profit company.
>Nothing wrong with liking free stuff; free stuff is great; but don't confuse 'it didn't cost me anything' with 'it's good'.
I paid for Sublime Text 3 back in the day and still pay for Rider. I prefer VS Code to Sublime Text 3 as it's more extensible for the kinds of environments I work in, and has some decent built-in amenities like version control and debuggers.
It's not better than Rider objectively (and it's not better by design. MSFT doesn't want to cannabalize Visual Studio), but for smaller scripting and editing it runs circles around Rider. I prefer using it when I know I'm not going to be coding something complex nor for hours on end. A great complimentary tool to have on end.
But if you have a "good" alternative as this lightweight c#/c++ editor, let me know. Someone recommended Zed but that is Mac only.
I did for years and it was perfectly fine. But then I got hooked on the additional Spring configuration support that comes with the Ultimate edition
But yes, IntelliJ Community edition feels very complete for a lot of programming tasks (my experience is mostly Java/Kotlin projects with a bit of web frontend & Rust on the side). It comes with debugging but not with a profiler (which I still haven't used )
So try the community edition and see if you miss anything! Chances are you won't.
There's something to be said for a "pre-packaged" IDE where you don't have to first install the "bare-bones" IDE and then find and install various plugins (of which there may be several with overlapping functionality, where you have to first find out which one works better for you, where you never know if there might be conflicts etc. etc.). Turns out there are even people willing to pay money for something that works "out of the box", like the JetBrains IDEs.
And VS Code is not only similar to Chrome, it is Chrome pretending to be an IDE, and that always leaves a nagging feeling of inefficiency in the back of my mind. The JetBrains IDEs, being Java-based (although they hide it really really well, installing their own OpenJDK-based runtime automatically), are also resource intensive, but still better than Electron...
IDEs in general tend to be resource intensive. Not necessarily because they need all those resources, but that cost of tech bloat was probably necessarily in order to let them ship to begin with. It's why back many programmers kept a text editor for smaller scripting or quick editing and only whipped up Eclipse/VS/IntelliJ when absolutely needed (ignoring the vim/emacs wizards who have dozens of plugins and get the best o both worlds).
VS Code is nice in that it strikes a good balance between a Text Editor and full blown IDE. Far from replacing the latter, but I can and have worked on medium sized projects exclusively in VS Code.
I tried to develop some C in VSCode and failed. The configuration of the build process is far from straightforward. There is no possibility to run without debug, etc.
That's really interesting. What makes VSCode's aesthetic so distinctive and appealing? As an infrequent user of it, I don't really see how it stands out. (The main things that stand out about it to me as an Emacs user is that it has pop-ups/nags/splash tabs that I have to dismiss whenever I open it.)
Not the person you were replying to but I've found VS Code treads the right line for me between editor and IDE. It feels like a text editor first and the UI is pretty similar to SumblimeText and TextMate which I used before, neither of which had much in the way of IDE features.
But I think the reason VS Code has become so popular is that along with its editor centric UI it has Emacs like extensibility. Plugins are easily written in JavaScript and it originated the Language Server Protocol which makes it possible to write language integrations in the target language.
I've not used the newer version of IntelliJ since the redesign, but I always found it somewhat overwhelming, with all this stuff which prevented me from focussing on the code I was writing. The old version had pretty poor UI performance too, whereas the VS Code UI is fast enough that I rarely notice any UI slowdown.
Nevertheless IntelliJ is pretty indispensable for Java/Kotlin development. It's code sense features are excellent and there are a lot of projects out there that don't really build except through IntelliJ's automatic Gradle setup.
FWIW the only pop-up like things I see with VS Code are extension suggestions when I open a file with a new language extension and the monthly update change logs.
I agree completely. I switch between VS Code and IntelliJ at work so I'm comfortable with both but I would also call the UI in IntelliJ overwhelming. It's covered in buttons, panels coming out in all directions, the Git UI doesn't integrate with the normal file view which makes everything feel cramped when I access it, I've got a variety of pop-ups coming up for all sorts of things, etc.
In VS Code, I usually see a file explorer, the files I have open, the Problems panel and a terminal panel. All of the other stuff is hidden behind sections that, when clicked, simply replace the file explorer. Far less visual clutter
> I've not used the newer version of IntelliJ since the redesign, but I always found it somewhat overwhelming
Complicated GUIs (most GUIs targeting 'advanced' users, IME) likewise cause sensory/attentional overload for me, as well. If an escape from that kind of design is part of what drives people to VSCode, I totally get it! For me, keybindings and a command palette (or similar) are a much more natural way to include lots of cuntionality in an app without making it overwhelming to navigate visually.
It's not obvious if you come from emacs, but the keyboard centric navigation is very different from traditional IDEs, that usually come with a wide array of buttons with weird icons at the top.
A few other aspects:
- dark mode by default
- web tech UI, not terminal
- decent looking widgets and decorations
I don't think these are the main selling points for vscode, but they do all of this better than their competitors.
You can configure it to have an extremely minimal UI. I remove the side bar and menu bar and work in Zen mode full screen. People often ask me what editor i'm using.
Different product teams work on different plugins/IDEs. Though, it's apparent that the more popular languages (Python/Java/JS/.NET/Go) get more enhancements. Makes sense for Jetbrains though because those languages provide them more revenue with a larger user base.
> Spaces, new UI project
Jetbrains Spaces is Jetbrains branching out into SaaS. The new UI work has been going on since as long as I remember. They're always tweaking the UI, but that's the norm in the industry.
That's pretty much how it's always been. If you want a Jetbrains IDE, IDEA Ultimate is the best choice, because it offers all of the exact same features. The only issue is that, let's say, if you're developing in Python, it will still give you a Javascript-centered UI, and it's really frustrating
On the other other hand, I switched from Visual Studio to Rider and it's embarrasing just how much better Rider is as a .net/C# IDE than the first party IDE. They're already so far ahead of Microsoft that "super slow" still has them doing laps about them.
Neovim plus the Rust treesitter thing is really good. Intellij has work to do before they are worth paying for. Which is great! I love competition. Kotlin is probably my favorite language to program in, but I hate how it locks you in to a single IDE.
Yeah, but sometimes I do want to search a project within 5 minutes of opening it. IntelliJ and it’s indexing, even when you had the project open 30 minutes ago, drives me crazy. Alternatives are good.
for me CLion was the revelation, and really I couldn't deliver my project if I didn't obtain it (sadly from my pocket, due to some strange software request process). It both sped up and improved my work, delivering thorough analysis of code through the lint.
However they already told in plain text that the Rust plugin will be stopped at this point of time, so this is another quite expensive (for me) tool to buy if you'd like to develop home projects or learn at home
Hopefully separate paid IDE will mean better quality integration. I for one just need trait calls, in particular Debug trait, in debugger expression evaluation and they can have my money.
The only thing I think I’d even want changed with PyCharm is better Copilot integration and time-travel debugging. Other than that I’d actually prefer that it doesnt change.
Long ago, perhaps ten or more years, I used IntelliJ. It is a good IDE. Then last year I tried CLion with the Rust plugin. Still good. Not everything is smooth but that's not their fault. One example: it is frustrating to display values even if they implement Debug. The problem is that the debugger did not yet understand Rust's Debug. I was satisfied anyway.
After a year I didn't extend the license, however.
You see, I am mostly retired and program just for fun. And CLion does not do enough because I also write TypeScript, PHP, shell scripts, and even C sometimes. CLion is good for C, but now, I don't know if RustRover will cover C.
Now I switched to helix. Thirty years ago I learnt Emacs and later jed. You could say I am the pinky finger guy. In my fifties I decided to try something completely different, a modal editor. It took more than a year to slowly learn tricks. If programming were my job I wouldn't do that. I would stick to vscode or just Visual Studio or to a JetBrains product, because I know them and can work efficiently. With helix I did not yet reach this efficiency. But being retired it is more about fun instead of efficiency. helix is just more fun than these corporate offerings. Last week I switched Caps Lock and Esc and even created tap keybindings for the modifier keys (right tap-iso = open bracket, right tap-meta = close bracket for example). I am still in the process to adapt to the new keybindings but it makes me smile.
One caveat: when in a browser text input field, I sometimes hit the i key before typing. Anyone know this? I realized, I have to shift the mental model that browser text input fields are alreay and permanently in insert mode.
This said, I have a fond spot for JetBrains even if I left them.
Helix is great! I learned Vim around five years ago, and bounced between it and VSCode for a while. I started using Neovim full-time for work and only moved to VSCode when a plugin upgrade broke my config.
Now, I use Helix too — it's not perfect, lots of quality of life features are missing, but upgrading _one thing_ and having it work correctly is really a pleasure.
Helix is really fun, it's fast, sane default feature set, things work out of the box, though last time I checked they still didn't have plugins (some stuff can be achieved with some shell magic, but still annoying to fallback to that).
Do you by any chance have your hx config open source? Would love to browse it and maybe steal some of your config!
> And CLion does not do enough because I also write TypeScript, PHP, shell scripts, and even C sometimes. CLion is good for C, but now, I don't know if RustRover will cover C.
CLion is the wrong product if you want to work in multiple languages. JetBrains has different IDEs for different purposes. You would want IntelliJ Ultimate and to use plugins for TypeScript, PHP, and even Rust with the plugin: https://plugins.jetbrains.com/plugin/22407-rust
If you only wanted to work in a single language you can get that specific IDE.
You can also buy the all products pack to get everything they offer, which is a great deal.
Whoa, another (ex?) jed user in the wild. I still install it on new servers, and that was how other admins know if I was ever there. Smaller and faster than installing emacs.
Haha! "In the wild" gave me the visual image of me roaming through a foggy mountain forest with my laptop under my arm and sometimes sitting down and programming in jed and you spotting me and hopefully not shooting me.
While I've always been happy with the VS Code ecosystem, I'd be lying if I said that JetBrains products haven't been a favorite of many developers I've worked with.
Disappointing that the open source plugin is a casualty, but this is probably a net positive for getting Rust into more hands that might need it. Writing Rust with and without IDE help is a night and day experience and having an official, goto, commercially supported product is great news.
I'm fed up with Jetbrains. I gave them money for many years and I loved intelliJ. It was the go-to IDE regardless of your code.
Then they started "simpler" IDEs like PHPStorm, but that was fine because I could supplement my IntelliJ with plugins that would basically give me PHPStorm and the like. IntelliJ remained the go-to tool for the polyglot.
The problem were the bugs. 3-4 years sometimes to fix glaring bugs well reported. Some were unheard.
They also made a big spiel about their millisecond to rendering right about the time where I switched to a 4K screen that rendered the IDE completely dead on its knees. The irony! Turns out Java wasn't so good for IDE in macOS retina displays.
You'd code in windowed mode, fine, you stretched open the IDE to fill the screen and every key stroke would then take seconds to render!!
Then one day, C-Lion.
All the sudden, we need a brand new IDE because you know, C++ is that different. OK fine. I don't plan on writing C++. Still though, felt like a cash grab. Then AppCode, then a plethora of other IDE that just feel like cheap IntelliJ-light opportunity to make money.
So I moved to VSCode, grudgingly. Had enough of unanswered bugs, poor performance and focus on everything else but the product that got them there.
VSCode is kinda great. But it's a perfect example of how much Microsoft could strap rockets to pig and make it fly. It's fast. You couldn't write a editor that fast using that technology.
But still VScode irks me with the MSFT part and the future enshitifcation that is all but inevitable.
Recently I found Zed [1]. Zed is what I wanted VSCode to be, and I highly recommended. Sadly it's still lacking in many languages like PHP but I hope one day they get there, because it's absolutely stellar.
I believe it's written in Rust and supports Rust really well. Give it a go. I can't tell if they'll be around in 5 years but I sure damn hope so.
So I'm sorry but I fell out of love with Jetbrains. And you might thing this is a cheap shot but I gave them well over a thousand dollars.
I don't have problems with bugs as often as I would expect considering the complexity of the IDE ! I'd say it's much better than Visual Studio which is directly comparable.
But there are many annoying issues open for a long time, two I'm struggling with currently :
- integrated terminal rendering performance is atrocious (and I hit this all the time since I use CLI a lot in my workflow)
- remote editing is a false promise feature - it's been there for a year but it's not even close to usable - this is a big deal for me as well and VS code is immeasurably better in this regard
I did a lot of C# recently and (ironically) VS code is terrible for this kind of language, Rider > Visual Studio.
I'm doing some Python now and PyCharm is just barely edging the VS Code. The remote experience is just not comparable and the terminal rendering performance is PITA.
If I was doing TS I wouldn't even bother with IntelliJ.
Yeah if you remember they actually started as Resharper I believe. This was a powerful tool for visual studio which made C# a lot better. It was like essentially the precursor of LSP.
MSFT standardised LSPs with the language server protocol (well, literally).
So if anything, Jetbrains knows C# just as well as MSFT ever have!
I don't understand why new editors like Zed go through the effort to create an incomplete Vim plugin, when NeoVim can act as backend for other programs which automatically includes one's entire configuration and plugins.
re: Jetbrains: I didn't mind splitting IDEs too much since you can choose to purchase a la carte if you don't need every development environment. I simply use Rider (C#/Unreal) and it came out cheaper than the one monolith that was IntelliJ some 5+ years ago.
re:VSCode: did you have any problems with ~~Atom~~ or Sublime Text? I love VSCode, but those tend to be the competitors that come up when talking about it. They lack the trillion dollar corportation attached to them so you may like them.
EDIT: oh it turns out Zed was made from the creators of Atom. I guess this is in good hands, in that case.
EDIT2: Darn, mac only for now. I guess I just have to wait. Also, I had no idea how much drama happened in the years since I last used Atom. I guess that recommendation is a no-go.
I use SublimeText since 2012 and paid for all 3 major versions of it, and it has good tools for Rust, but lacks interactive debugger. VS Code's debugger is very inconvenient, but at least it exists. Had to switch to VS Code for Rust.
I paid JetBrains 3 years up-front for a license to their products. Thank heavens I paid for the full suite and not just CLion or I’d be stuck using CLion with the Rust plug-in which will become unmaintained.
Looking forward to install RustRover. Hopefully it will bring even better integration with Rust than using CLion with Rust plug-in. And CLion with Rust plug-in is already very nice :)
Language plugins code-base is part of dedicated version and they are updated too, from my experience it is the case with JS, Ruby and Go. Of course you don't get that nice ecosystem integration and perspective like with dedicated version, but I find IDEA+plugins beneficial with polyglot projects.
Seems kind of "backwards"? Why not put more effort into Fleet so that they can eventually sunset all the language-specific IDEs and have one product to support?
A big part of why I use VSCode over JetBrains stuff is that I only have to deal with one application for all my things.
IntelliJ (and I assume Fleet?) is an all encompassing IDE where all the languages are plugins and can basically do everything the other products can do. The language specific IDEs are mostly skins for the plugins that just rearrange the UI to make it simpler to do specific things. Features may land first in the language/platform specific IDEs
The language specific ones also tend to directly model a project according to the structure of the language's projects.
I use Intellij Ultimate on a Python codebase and it can rather annoying on the odd occasion to get the project loaded up right compared to PyCharm. I get there in the end, but it can get fiddly.
But I'll point out the multi-IDE licence from JetBrains doesn't cost much more than an Ultimate licence, well worth going for of you're a routine polyglot programmer.
> I use Intellij Ultimate on a Python codebase and it can rather annoying on the odd occasion to get the project loaded up right compared to PyCharm. I get there in the end, but it can get fiddly.
Oh ok interesting.
I suppose for a particularly complicated and big Python project (which, judging from your other comment, sounds like what you have), having something with the right PATH, etc, there are probably issues that arise in this regard that the rest of us don't have to worry about.
> But I'll point out the multi-IDE licence from JetBrains doesn't cost much more than an Ultimate licence, well worth going for of you're a routine polyglot programmer.
Yeah, it can be annoying when IDEA can't figure out that it's a Python project, or that it's using Django, so please use the Django test runner.
I only hit it rarely, usually after a fresh git clone, but then can spend half a day coaxing it into recognising that it is indeed a Python project.
A couple of times, I've had to resort to editing modules.xml in the .idea/ directory to insist that no, this module isn't Java, it's definitely Python.
I have not used IntelliJ; I've used a couple of the others, mostly PyCharm (which I still have on my computer and opened the other day).
I think the question still stands though; what's the point of continuing to do this? I guess there must just be a subset of IDE-users who want things tailored extra to their specific language, even if they could get all the same functionality in a broader IDE like IntelliJ?
Genuinely curious what people like about something like PyCharm professional enough to pay for it, and whether they also use other IDEs or basically use it like IntelliJ (I assume you can get plenty of plugins for other things you need, like JavaScript/TypeScript).
As somebody with a JetBrains All Products subscription, I do frequently use the language-specific IDE’s because the IntelliJ module system (read: project structure) can be a chore to deal with when I’m just doing something in Python or Javascript. Having a simplified and focused UI layout and assumptions about internal project structure makes less headache.
Additionally, not ALL of the language-specific IDEs have matching plugins for IDEA (or may be missing some features compared to the standalone build); Rider, CLion, GoLand, and now RustRover simply do not have any way to be installed as a plug-in into IDEA.
I may be mistaken on that one, but it looks like it may be available as a CLion plugin after based on their FAQ but certainly not for IntelliJ IDEA. I hadn't paid attention and noticed that they made the Go plugin available for IDEA, but for certain CLion and Rider are only available standalone.
PyCharm is cheaper than Ultimate, and more focused on Python dev. It's far easier, in my experience to set up PyCharm or GoLand for a Python or Go project than Ultimate.
And yep, can run ancillary plugins to an extent, I don't think you can run, say, the Go plugin in PyCharm, for example, but JS/TS is out of the box IIRC.
Another thing I've noticed is that the IDEA Ultimate plugins tend to lag the features introduced in language specific IDEs for a bit.
JetBrains offer a multi-IDE licence that costs slightly more than Ultimate, worth looking into for polyglot development. But I went for Ultimate for our Python codebase because we're using a lot of FOSS JVM products, and super easy navigation around large JVM codebases to read code to understand some observed behaviour is very much worth it.
It's presumably partly about market segmentation for pricing purposes. Check the prices of their IDEs - they differ quite considerably. Languages that are mostly used by hobbyists can't have the same price be charged as languages mostly used by big rich companies.
The current clion + rust plugin combo allows me to step seamlessly from rust to cpp when doing ffi work. Hopefully this isn't lost in this new rust only tool.
I wish Jetbrains and Google could work towards replacing Gradle for Android with Bazel. This would mean much more alignment in Android Studio/Jetbrains IDEs and ASOP itself is built with Bazel these days so eventually having both ASOP and app projects built with the same build system could yield benefits also.
What’s the problem with Gradle? It is one of the few extensible, cross-language build systems that actually has most necessary features for the task, and is correct.
Android just has some absolutely mindblowingly insane dependency graph and long-running steps in their build process, making even gradle sweat buckets. Without a significant re-architecture, Bazel wouldn’t fair any better, while a significant re-architecture could just as well help Gradle.
The problem isn't Gradle itself which I am a huge fan of but more so the existing legacy Android plugins which have either stagnated or slowly degraded.
Moving to Bazel would be good for aligning everything. As previously mentioned ASOP is built with Bazel, Bazel already has great support for building Android apps (and works much better with NDK: https://bazel.build/docs/android-ndk).
Gradle while I do like it I have come to realise is a drastically more complicated
(and magic) build system than Bazel. I say this as someone that can do "anything" in Gradle by either developing custom plugins or dropping hacks into buildSrc.
I think part of the reason why Android builds don't get better is people don't want to even try deal with Gradle because of the comprehensibility cliff, i.e there is too much distance between "I can copy and paste and it works" and "I actually understood what I copied and pasted".
It's hard to say exactly what the key problems are with comprehension are but despite years of trying to help others understand Gradle I gave up and just handled all the build issues myself.
Bazel has been a lot easier on the uptake, it's not perfect and still takes a bunch of upfront "you need to understand the difference between rules, repository rules, macros etc" but there is less fundamental topics to cover and less magic if you aren't using external rulesets.
It sounds like you just want Intellij Ultimate. Fleet is explicitly aiming to be VS Code like while Ultimate is just regular Intellij with access to most language plug-ins.
It was disappointing to see, as I am really tired of running multiple IDEs to work on mixed language projects.
mixed language projects are the __norm__, not the exception. I get most often bitten by this when I have both C++ and Python IntelliJ projects configured in one tree, and it starts complaining about project name clashes.
complete waste of time, and i wish they would fix outstanding bugs, especially small cosmetic ones in the existing products, which have the lowest risk of regressions. case in point https://youtrack.jetbrains.com/issue/DBE-11296 ... which after three years elicted the response "We have no plans to implement this feature in the near future."
Is there anything IntelliJ Ultimate is missing in your opinion? I use it with quite a few different languages (JS, TS, Java, Kotlin, Dart, Go, Rust, Erlang, C) and it works really well (except maybe the last two but I very rarely need them).
I am going to give this a shot but I am not sure what's the attraction anymore with Copilot + LSP.
- Auto-completion: However smart it is, it can't beat copilot.
- Type information: LSP can do that. (along with access to docs, error/warning highlighting, etc..)
- Debugger: There isn't a good one (or at least a good one that can be easily configured) for neovim yet. That's something I really miss for my toolbox.
- Cargo.toml: There is already a neovim plugin for that!
- VCS: I don't mind having a separate app for VC. But there isn't a good GUI app for Linux.
So far, it's only two points I am interested in; and only the debugger is the thing that I miss the most. I am wondering if better debugging tools (like LSP) somehow make it to Rust (along with maybe ownership/lifetime LSP like tools), then the market for an IDE becomes null?
> - Auto-completion: However smart it is, it can't beat copilot.
That's news for me!
I write C# in Rider and I'm a copilot subscriber. However if I have to choose between Rider's auto-completion and Copilot, then the choice is painfully obvious.
> Stuff like this makes me happy I left the JetBrains ecosystem years ago.
Trouble is it depends what you program.
For example if you're a Go coder, then JetBrains GoLand has no competition.
Sure you might try VSCode with various extensions, but its not the same. GoLand enables you to be much more productive because of its first-class integration with Go.
The only reason some people use VSCode instead of GoLand for Go coding is because its free. There's no real reason to use it otherwise.
> GoLand enables you to be much more productive because of its first-class integration with Go.
Err, what? There isn't even an argument here, "GoLand only supports Go so surely it must be better at it!".
> The only reason some people use VSCode instead of GoLand for Go coding is because its free. There's no real reason to use it otherwise.
The feature set listed on the site looks identical to that offered today by Rust-Analyzer or the existing IntelliJ-Rust plugin. Except in practice, IntelliJ-Rust is significantly weaker at understanding Rust code than Rust-Analyzer, and the strides that they have made in the last few years have largely come down to piggybacking off of it.
And that's ignoring that I find IntelliJ's text editor to be vastly less comfortable than Emacs+Evil. (Yes, I know about IdeaVim. I used it for years. It doesn't hold a candle.)
Go’s LSP (created by Go Team) is the best in class and super feature rich. I’d recommend trying out things before making claims about one thing being better than the other.
> Go’s LSP (created by Go Team) is the best in class and super feature rich. I’d recommend trying out things before making claims about one thing being better than the other.
Ahem, cough.
gopls is a PLS. Which Wikipedia gives us the definition of being:
programming language-specific features like code completion, syntax highlighting and marking of warnings and errors, as well as refactoring routines
PLS features are only the tip of the iceberg of the features that you get with GoLand which has a much richer integration with Go. Ranging from contextual menus, to configuration options to all sorts of other things.
I therefore retain my point that VSCode's only benefit over GoLand is its free.
I already pay a subscription for Pycharm. Would expect this for free. Now vscode is a legitimate alternative to Pycharm they need to sort out their offering.
I think the parent is making a joke about Rover cars' reputation in the 1970s.
"The [1976 Rover] SD1 went head-to-head with rivals such as the Ford Granada, Citroën CX and Opel Senator as well as premium models like the W123 Mercedes-Benz and BMW 5 Series – all of which still form the main alternatives. Unfortunately, the big Rover soon gained a reputation for poor quality, reliability issues and a propensity for alarming amounts of rust..."
> Bit of a malicious move, essentially monetizing the contributions of all the people who worked on the plugin while the open source part slowly falls into deprecation and wontfixes. Not cool at all!
To clarify, TFA says that the open-source plugin will remain open source and freely available on GitHub and the marketplace.
If that's what we're calling "malicious" these days, then I'm not exactly outraged. Rather, I find it exciting that Rust has grown to the point where a commercial entity wants to commit to a commercial product like this.
Well. They’re accusing jetbrains of forking the open repo and then closing it.
The reason it feels malicious is because jetbrains weren’t the only contributors, so they’re monetizing the work of people that were under the impression that the plugin was staying open source due to clion.
It cuts both ways. JetBrains is free to close source it, but likewise, anyone can continue to maintain it too. JetBrains has no more power here than anyone else, except for the dev time of their employees.
There's a difference between illegal and malicious. If you ask me where the nearest bathroom is, I could point you in the opposite direction, and that'd be legal. Or, if I didn't want to lie, I could point you to one I know is it of order, since you didn't say "working bathroom I'd be allowed to use".
Sure, the license allows it. This implies neither the presence of malice/sketchiness/betrayal of trust, nor the absence of it.
The license is an explicit statement about what someone can do with the code.
If we have an explicit agreement that I can mess with you (maybe we like pranks), then pointing you in the opposite direction would not be malicious, it would just be allowed according to the rules we've agreed to.
If you don't want companies taking your code closed source, there's plenty of license options to choose from.
It wasn’t a prank though. If I was walking around shouting “I’ll tell you where the in-order bathrooms are” and then you ask and I point you to not-a-bathroom, that’s what happened here.
Jetbrains have been very adamant that a rust ide was a no-go cause it’s just CLion with the Rust plugin.
yeah I understand, but if I get into a room where "someone might slap you in this room" is written on the door, I can't call someone slapping me "malicious"
What I have a problem with is companies asking for copyright and then changing the license. Looking at you Terraform. But this doesn't seem to be the case here.
I don't use JB IDEs but for the people I know who do, the thing that stops them using VSCode is debugging: I'm curious, does anyone consider VSCode debuggers to be as good as JB or is it just obvious at this point that JB IDEs are superior in that regard?
Tried it and it feels slow. I opened a Rust project and after a long wait to index crates, I opened a file and deleted a commented line. It took a few seconds to display the annotations again.
FWIW, I've had the same experience with CLion at my previous job. Syntax highlight lagged 30+ seconds behind. Autocomplete was unusable, because it took almost a minute sometimes (for method names!!), or would pop up with stale/irrelevant results. Everything in the UI felt sluggish. Used an ungodly amount of RAM. Plugins would randomly stop working and require me to reinstall them to work.
The only thing going for it was that the debugger worked better than gdb (although I think it uses GDB unde the hood, but probably does something better than when I manually fiddle with gdb)
VS Code is sometimes a bit sluggish when handling input. Don't know why, and it only happens on my Macbook Air, (so might be thermal throttling?) but it happens rarely.
The nice thing about Code is that it's also easier to work across multiple languages without having to switch tools.
However, it does say it's still in preview, so it might get better?
Also, the UI looks radically different (and nicer) than what CLion looked like, so maybe they have a new UI framework that fixes some of the problems I had with CLion
IMO an IDE shouldn't be tied to a language. in my project, I could have js/html for the frontend, rust for the backend, python/bash for scripts, cmake/cpp for components.
I use Jetbrains IDEs, but keep my emacs config working with a few languages just in case... a few times, I had IntelliJ consuming far too much CPU/memory which made my laptop too hot, and I was happy that using emacs gave me a lot of the benefits with a magnitude less resource usage. That turned out to be some sort of bug in IntelliJ, because after a few minor releases it stopped doing that and now I am using it again on a smaller Macbook Air without problems (using Java, Dart and Kotlin mostly).
When IntelliJ supported the other languages via plugins, it was always a subpar experience versus their IDE's whose workflows were really geared to that language.
Its subtle stuff, but changing the way project management is handled and tasks are run for example between CLion, Idea and PyCharm made me use the individual IDEs even if I could technically install the language plugins in just one
Yea, one of the main reason I often use VS Code instead of Jet Brains is that it supports just about every language in the same project. For example if I'm working on a Python project with a C++ component I can choose between using PyCharm which doesn't have C++ support of CLion with has very limited python support.
You can still do that. Just install the Rust (or any other language) plugin to IntelliJ. You can essentially build your own "jack of all trades" IDE if you want to.
I didn't know they had added this. I just took a look and seems it was added in 2022.3. That's still relatively recent, fwiw. I'm still on 2022.2 for Intellij (because of how they bundle their kotlin plugin), but this will solve my problem with Rider and Goland for the next few months,
They had something similar called Settings Repository for 8+ years before they switched to Settings Sync. You could also just sync the settings directory yourself using git, rsync, Dropbox, etc.
Not a fan of JetBrains names. RustRover is too easy to misspell to RustLover. Which is too close to LustLover!
But anyway, I'm kind of lost with this news, because I'm using paid CLion for both C++ and Rust, and it seems now I will need to buy another IDE (because they will probably discontinue the free rust plugin).
They didn't discontinue their Go plugin when they released GoLang, their Python plugin when they released PyCharm nor their Ruby plugin when they released RubyMine.
Which is weird from an economic standpoint, because if you're using IDEA, I’m guessing that for the majority of users there just aren't enough advantages of getting either PyCharm, WebStorm or GoLand in addition to it.
On the other hand, they are notoriously slow to develop their IDEs. Features are super slow to be delivered, IDEs themselves are not really improved as well. They are focusing on things most don't care: Spaces, new UI project, etc. Barely any performance improvements, customisation is hard, Ruby, Scala and other plugins are lacking as well. Scala showing red squiggly lines where its not supposed to (on their compiler), Ruby lacking ergonomics in refactoring department (refactoring too large scope and etc.) or tooling support.
I still pay Jetbrains and while 2015 they were above everything else – its no longer the case. I grew up with them as developer, I hope they can up their game.