> the tool is so fricken slow.
How old is "old hardware"? I've had no issues running CLion on a 2020 M1 Macbook Air and a i5-10400 (Linux). These projects are only in the hundreds of thousands of lines of code though.
> The install is gigantic on disk, leading me to avoid it on my older machines where space is limited.
I found that by default toolbox likes to keep old versions of the IDEs available for rollback. I disabled that and reclaimed tens of GB across all the products I use.
I don't find it terrible, but startups are slow and Dataspell often seems to get stuck in an very long slow loop of updating skeletons in my python package library. Probably not coincidentally, the package manager is apt to be the aprt of the IDEA that gets really sluggish and unresponsive, but I've also noticed problems with code completion/documentation popups. I don't have a vast number of packages installed, and my projects are pretty small, rarely more than 1000 lines of code. My code is also pretty clean and tidy because I'm not doing anything too complex.
> Toolbox yes I've noticed this too. I don't like it much, eg I had an old instance of dataspell that I uninstalled manually a couple of years ago but the ghost of it still shows up in Toolbox and there's no way to get rid of it. I sometimes feel like JB focuses too much on adding features but not enough on polishing them.
Always hard to interpret these complaints when the author won't reveal what hardware they're talking about, other than that it's old.
I think Zed is a great option for someone who is both highly critical of load times and has older hardware. I would not have recommended a JetBrains IDE given this person's requirements and hardware situation.
I use JetBrains IDEs on a daily basis and it's not a problem for me, even on my M1 Apple Silicon machine which is, what, almost 6 years old now?
That said, I'm not hyper-sensitive to things like a loading screen that takes a few seconds. I open the IDE once or twice a day at most and then leave it open. I tested it just now and went from clicking to being in the IDE and editing a file in 3 seconds on a cold start (recently rebooted) on my 6 year old laptop. When I read these anecdotes I don't know if someone has a broken environment (too many plugins installed?), a really old machine, or if they're just so hyper-sensitive that a couple seconds of loading screen seen a few times a day is enough to trigger them.
If I have access to a LSP and DAP, also do most of my refactoring through c tags and vim grep (or grug-far if I want to be fancy). What IDE specific features am I missing out on that can't be replicated?
Being earnest here because I always screenshare with co-workers doing a variety of things and there is nothing I ever see that is impressive or makes me want to switch.
- Automatic spring service detection
- Debugger (remote, local , with access to state, stack and ability to modify the state while stepping through), though I assume this is possible with neovm?
- built-in profiler
- can run individual tests seamlessly
- understands bytecode enhancers like Lombok
- Find Usage, find symbol, language specific navigation, showing class hierarchies, going up/down the hierarchies etc (maybe in conjunction with LSP, other editors can do a decent job?)
- Advanced refactoring (extracting classes, interfaces, inlining functions, extracting functions/methods)
- built-in database explorer
- built-in Git support (I have struggled mightily with VSCodes git interactions - but this might just be an individual preference)
- markdown/html previews
Basically, I barely have to get out of the IDE.
This is the main one for me. If I am working on a large project with decent unit test coverage, the feedback loop in IntelliJ or Visual Studio is just much quicker than the alternatives because you can run and debug the specific tests you need.
The Java LSP is a egregious "thing" that takes 10 to 30s to read your whole project for the n-th time while eating 40GiB of RAM in the process. On a loop, EVERY time you view a new file.
Where is my goddam lsif/scip support?
First, that doesn't exist, and the notion's laughable.
Second, I have every feature I actually want to use in Emacs (and Zed and even *vim), and have no reason to believe that any random bullet point someone might come up with 1) doesn't exist in those editors, or 2) that I'd use it anyway.
None of those matter if they just close the IDE before it indexes.
> When all of these tiny issues come together, it makes me NOT want to program. I don’t want to sit around and wait for startup times to get my ideas onto the screen. I don’t want to worry that my CPU or RAM is going to be exhausted and I am going to have to restart my machine. I want to open my editor and immediately enter a flow state. I want the tooling to assist me when useful, and stay out of my way when not.
I have IDE tooling experience since Borland products for MS-DOS, and plenty of programming editors as well, between PC, Amiga, Mac and UNIX clones.
If only it was this. Usually the car transmission breaks, there are random engine shutdowns, and after restart the car just doesn't function anymore. And when it actually does start, it moves so slow and consumes so much fuel that I can't justify using it. That's my experience with JetBrains IDEs.
And startup is something that happens only once for me, then it stays open all day (unlike vim which I close and open repeatedly)
It was like it only had the basic language support plugin I wrote for myself at uni: basic syntax and current file/directory only source files loaded into context.
So any referenced projects, tooling, even packages in one language, and you have false positive errors everywhere.
I don't want to sound too negative since I do like their products, but it feels like they've fallen into the same trap as a lot of SAAS companies. They have to constantly make "improvements" to justify regular subscription fees. Their products were pretty great a decade ago. Since then they've made a gazillion changes but I can probably count on one hand the number of them that I found truly useful.
Performance issues haven't been as bad for me as the TFA says, but they certainly use a lot of resources, even after I aggressively removed a bunch of default plugins and disabled features I don't use. Performance improvements would be a nice feature, but those changes rarely make the top of the SAAS priority list.
Not sure if I'm missing out on much today.. but initially I despised the minimalist interface for the new UI.
JetBrains is simply not interested in power users and professionals anymore, and seem to be utterly unaware that that's their core customer base.
I canceled my all-products subscription after more than ten years and I'll be using 2024 versions until the wheels fall off.
it's sad, but what can you do.
I'd really like some context here. Because for some people this is like "My M4 is out of date now the M4 ultra is out" and for others it's "I think computers really took a step back when when we started to talk about Gigahertz and Gigabytes, a 386 is all I need".
It is of course sluggish to index large projects, but it's equally slow on my brand new Ryzen system. Otherwise it's completely fine. It was my main daily driver dev machine until 2024.
It is completely expected that it’s slower.
I remember my first job I had to request a new workstation just to tolerate using Visual Studio. (Actually, all I asked for was an SSD, but my manager over-delivered and went ahead with a whole new workstation)
Open the whole project I'm in:
$ zedme
Open a specific file within the context of this project: $ zedme foo.rs
In regular operation, in sizable projects, those commands each take about 1 second to open a whole project with tree navigation and all that, plus the specified file complete with syntax highlighting and language server etc.One moment, I'm happily working away in a terminal. One second later, I'm looking at a full-featured editor with all the tooling I want.
That's the performance bar, the expectation. Slower than that and I have to adapt my workflow to the editor, not vice versa, and I've never used an editor so great that I'm willing to tolerate that.
I don't use any crazy plugins and I hit one or more of these issues almost every day:
- Code analysis during git commit taking minutes
- 10-15 seconds for the as-you-type suggestion box to pop up, I often end up just typing the full variable name myself
- Typescript taking 10-30 seconds to refresh errors, even with the experimental tsgo rewrite
- Freezing and displaying the "dump threads" message, weirdly also lagging out my Spotify
- Easily consuming 10+ GB of memory (how?)
My daily ritual is restarting Webstorm from how much memory it leaked overnight.Many of us still use Jetbrains products because we're willing to put up with a little lag for the multitude of really useful features you get, but they need to attack performance seriously or they're going to risk losing folks.
This is the thing that drives me insane. The most annoying part is that they haven't built a proper cross-idea way to diagnose this. How hard is it to just have a UI, or even some text log, that says "I'm reindexing because X, Y, Z have changed" or something?
Now that I work on 3-8 concurrent projects, I want to have them most of them open so I can interact, sense-check, be engaged in the work. When I tear down one worktree, ALL projects open in RubyMine concurrently re-index. It kills my M3 Max and I have to force quit. Then when I restart RubyMine it does the same so I have to race to press the tiny pause button on just enough of the projects for it to not die. There's no way to tweak the re-indexing settings or determine when it will kick off. WHY it kicks off - i don't know.
This is the single thing that's led me to Zed/VSCode, or to not open more than 2 at a time.
2) I am in the same boat with slowness. I've been using PHPStorm for over 10 years and it has always been "slow", but the newest pain point is that I will have claude in a terminal update a file. If the file is open in PHPstorm's viewing pain, it might take 10+ seconds to update the contents: I now always "update from disk" if I want to copy the contents outside of my KVM. It's just absolutely terrible workflow.
3. I have also found all of their AI efforts to not only be poorly executed, but executed in poor taste: it's just IN THE WAY rather than being helpful.
4. I mostly don't appreciate most of their features, generally. My flow is pretty simple. I no longer use most of the features. I just don't need the 8000lb elephant any more.
This on a 64GB ram Ryzen 7 5825U.
So if anyone is out there sitting in a similar position, give it a shot, you can get a better editor experience, whether you build it yourself with emacs, neovim, or use a more curated approach like helix, or zed for that matter. I mix and match Helix now with Claude Code, and it works really well. I don't want a single AI feature in my editor, only navigation, and auto complete. I'll have my AI on the side thank you ;)
I like ZGC. And having the IDE grab more RAM immediately on startup than the default. Something like Xms=4g or however it's done.
I cannot understand why Jetbrains keep the VM settings as constrained as they do. It's a big difference.
A lot of the things JetBrains does are questionable, particularly the way they write UI applications. One would expect from a company that spawned a widely used JVM language and a JVM IDE that they would know how to write responsive Java UIs, but apparently, they don't. They are doing some really weird stuff like mixing up Skia with Swing, it’s just a big mess. The worst part is that most people will end up thinking Java is the issue. Ironically, Microsoft has done the same to Visual Studio which is incredibly sluggish these days.
I've also been having massive problems with their sync- like between IDEs or even upgrading versions, I have to reconfigure all my plugins and settings bimonthly. And their AI assistant is so obnoxious- it is a chore to turn off and it randomly turns itself back on for me, ignoring the fact it kinda sucks.
The speed and reindexing issues are also a big problem. I had to hack my way around Tauri when I was using it a year or so back (not sure if this is still an issue). The tauri_ctx! macro apparently generated a lot of code, and slowed RustRover down to a crawl, where syntax highlighting couldn't keep up- it was unusable. I ended up having to move it to it's own crate.
Having just made the switch to Kubuntu, I'm going to try Kate as my primary editor for a while. It's missing features, but it sure is snappy.
The thing is, I don't know what I'd use otherwise. I demand an actual IDE, not a text editor that allows me to install a ton of plugins to make it into a half-baked IDE (ie, vim).
Maybe I should actually give VSCode a strong try. I've only used it as a code viewer for anything that's not Python.
Really my biggest thing for jetbrains is the cost, of course my company pays for a license on my main machine but I've been paying for a personal license as well and have been thinking of making the switch to Zed/NeoVim/VSCode etc. for a while just to save a few bucks every month.
I occasionally try switching editors, most recently to vscode, but between the near flawless vim emulation, refactor functionality, and multi-language support I always come crawling back to JetBrains, despite the memory bloat and occasional buggy release.
Maybe that'll change someday, and I honestly hope something better comes along, but for now it just works better for my workflows and is worth the cost of admission.
Junie - their coding agent - was also a miss. I've had Rider for almost 10 years currently - but considering dropping it. Tradcoding is basically dead, and a lightweight text editor with tree-sitter has come a long way - and it's good enough to read/micro edit with anyway.
I feel bad for them as it's been such a stable product for decades of excellent development, but the world moves on.
Agreed, but if you use IdeaVim you can:
:e src/my_new_file.txt
> The startup times are just abysmalFor quick edits I just use Vim, but disabling unused plugins speeds up startup quite a bit.
--
> Switching projects has abysmal performance
I reported that bug: https://youtrack.jetbrains.com/issue/JUNIE-2563/Minor-UX-Slo...
They don't care.
Curious what hardware you’re on. I’m in the same camp with JetBrains products, performance has always been my biggest complaint. Apple M chips made a huge difference though. It’s still not my preference, but at least it’s a lot more usable now. Most of my colleagues run multiple instances daily without issues.
Most of that stuff is proprietary and cannot be plugged into terminal.
The only attempt I’ve seen was actually by Jetbrains with Resharper beta for vscode
I also highly doubt that any IDE, whatever that is, is better at analyzing Rust code than rust-analyzer is. Not every language will have a language server that excellent, but I hope that'll improve for those users.
Other than that, I must agree with this article.
I hate it when I try to refactor or rename something in VSCode, which can be done deterministically, but it tries to use AI for it, which can mess things up.
I've used kdevelop a bit lately, it's ok.
If anyone has something roadmapped to replace CodeWithMe, it's worth bucks.
So I also hate jetbrains, give me my shortcut get guys!!
You can achieve anything with macros and you can give shortcuts to a named macros.
Macros are in the Edit > Macros menu. Add a shortcut to a macro in Settings , Keymap > search Macros, right click on Play Saved Macro and Add Keyboard Shortcut.
Many people told us we were crazy to compete with such a mature product as DataGrip before we got started.
It has been fascinating to speak to people who use database apps and to learn about their experiences.
Now, we have many, many customers telling us that they have cancelled their DataGrip/JetBrains sub and have switched to using our product, mainly due to speed but also cost.
Their products are really, really slow.
> We automatically collect certain information when you use DB Pro:
> Device information (IP address, browser type, operating system) > Usage patterns and interaction with our services > Log files and analytics data > Cookies and similar tracking technologies
- every new release breaks something
- the syntax highlight and auto completion engine has glaring bugs when using multiple file splits. Bugs are open for a decade already.
- performance is complete dog shit. Typing a characters spins up several cores at 100%.
- QA plays the "test the bug on the latest and report back or it doesn't exist" game.
Overall they seem to be more interested in shuffling the UI around and adding useless AI features nobody asked for while the core product is eroding fast. It really looks like they don't have tbe engineering capacity/talent to keep the product in shape and whatever capacity they have is misspent on wrong stuff.Sorry but Clion is over.
How does Root/Ventures, V1.VC, Matchstick, Redpoint, and Sequoia get paid and what does that eventually look like for the people who have adopted Zed?
Does it enshittify? Does it just get bought by somebody else and languish?
I'm not a daily user of jetbrains product, but please. If there's any engineering/developers, start to use afl/cargo fuzz or whatever your fuzzer is, and spot bottlenecks, issues. I started to write software because I was looking at the quality of the very first softwares that were being fuzzed and it opened me some doors.
I do not understand what is their play but it seems to me like they missed last two years of very rapid and forming progress.
Of course without telling: "while upgrading, you will loose functionalities except by buying our new edition"
of course an editor like Zed is faster than CLion but it makes little sense to compare the two. People use full blown IDEs like Jetbrains or Visual Studio for their heavier features like debugging and profiling, not because they feel snappy. When I write C++ my workflow has always been to use vim for editing and use VS for debugging.
He tells me, and I quote, "Oh, all the files are red."
Second wtf you may ask? In the goal of changing the storage of our data, he implemented 3 of ~10 behaviors of the existing library, and silently ignore all calls to the remaining 7. Guess which 3 were never used in the existing library!? :D
20 years "experience". Total incompetence. I should correct that: 17 years. After he was hired, during our first lunch together, he admitted he did nothing the last 3 of his previous employment, getting stuck in some org void where he just kept quiet and sat at his desk every day.
Yes, I'm on my way out.
A concrete example: one person could not get it through their head that they could write a function to return the correct value, then unit test that function with arbitrary known values. My question: "how do you know if it gets the right answer for 1,000,000,000,005?" What I wanted:
def fizzbuzz(n): ...
assert fizzbuzz(1_000_000_000_005) == "fizzbuzz"
or something similar. What they offered:"OK, we'll loop from 1 to n and write each of the values out. Then we can compare the contents of that file with a test case!"
"How is that going to work for values like 1 trillion something?"
"We can compress it!"
"And how long is this unit test going to take?"
"Well, let's assume we can process a million answers per second..."
"Aren't you going to run out of hard drive space at some point?"
"We can use `tail` to get the last few lines!"
"OK, let's start over. Can you imagine any way to test some arbitrary value in O(1) time?"
"Nope, can't be done."
"Sigh."
As more and more people delegate stupid things to their agent, this type of person will become increasingly common. Products like RustRover and CLion will be a much harder sell to audiences that don't even use an LSP in their day-to-day workflow.
JetBrains is probably working on a contingency plan as we speak.
For C# development Jetbrains Rider is second to none.
The number of static analysis, refactorings, inspections, dynamic analysis, slow code paths hightlights, profiling, etc.
It just cannot be done in neovim no matter how I would like to switch.
For C++ (like the OP’s case) — maybe the situation is different. I’ve heard CLion is a meh.
—
Also Jetbrains IdeaVim plugin is the best vim emulation I’ve seen. Nothing comes close with vim plugins support, vimrc, and what have you.
I tried vim mode in Zed — it’s a joke. Immediately uninstalled and got back to vscode, at least it has some vimrc support for custom bindings.
—
Also I don’t get the start-up argument: just don’t close the app, dummy :-). YMMV of course depending on the language.
—
tldr; there is nothing to replace rider with. Because Rider is an actual IDE with tons of proprietary bells and whistles that actually matter
Then again, my dev machine is a Threadripper with tons of ram. I would probably sing a different song if I needed to work ona macbook air with 16gb of ram.
Once every year or so I get annoyed with a bugged JetBalrains update or memory leaks. IdeaVim has been one of the main things pulling me back to JetBrains for a while now, although the neovim extension in vscode is also very good these days.
Trying to find the stable point of agentic coding is like trying to catch a falling knife. Will you still need to look at diffs? I for one no longer make any edits, as a policy - I either tell the agent to fix it, or tweak a skill or memory or doc so it doesn't make the same mistake a second time, or configure something adversarial. But does that continue indefinitely?
My guess is they are still very useful for more difficult code! But yeah, I can't imagine ever caring about "code" any more, and therefore cannot fathom the need for a full fledged IDE.
I'm glad that works for you, but you'll pry my free software from my cold dead hands. :)